Consulta Básica sobre declaración de variables en una clase
Publicado por Nicolás Ignacio (21 intervenciones) el 07/06/2015 21:32:02
Estimados, he buscado exactamente lo que necesito saber pero no lo encontré tan especifico, por eso recurro a alguien con más conocimiento que yo. Provengo de la programación estructurada en PHP y me estoy adentrando en POO. Tengo los conceptos claros en cuanto a Clases, Herencia, Objetos, Polimorfismo, Encapsulamiento. Mi duda es más existencial y de orden. Son dos y aquí van:
1) Debo declarar todas las propiedades, variables que usaré en los diferentes métodos de mi Clase? por ejemplo tengo este código:
Como se puede ver, declaré cosas que no son propiedades, como queryA, queryB, total_rows, data, etc. Y luego las accedo con $this->... , entonces no se si está bien hacerlo de esta manera, el código funciona, pero en realidad me parece que no son propiedades específicas de un objeto las querys y los arrays con las filas.
2) Segunda y última consulta, puedo colocar un if para poder decidir qué metodo lanzar de acuerdo a parámetros que me llegan vía $_GET a un archivo intermedio? Especifíco, tengo un archivo llamado transaccionConceptos.php y deseo hacer algo por el estilo:
No se si se entiende lo que quiero expresar, pero por favor si alguien puede dar un poco de luz a esta confusión les agradeceré mucho.
Saludos y buen domingo !!!!
1) Debo declarar todas las propiedades, variables que usaré en los diferentes métodos de mi Clase? por ejemplo tengo este código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
require_once '../class/classConDB.php';
class Conceptos{
private $dbh;
private $pagenum;
private $pagesize;
private $start;
private $sortfield;
private $sortorder;
private $queryA;
private $queryB;
private $resultA;
private $resultB;
private $rows;
private $filterquery;
private $total_rows = array();
private $filas = array();
private $conceptos = array();
private $data = array();
public function getConceptosJsonPag($pag, $size){
$this->dbh = new ConDB();
$this->pagenum = $pag;
$this->pagesize = $size;
$this->start = $this->pagenum * $this->pagesize;
$this->queryA = "SELECT SQL_CALC_FOUND_ROWS * FROM codConceptos LIMIT $this->start, $this->pagesize";
$this->resultA = $this->dbh->prepare($this->queryA);
$this->resultA->execute();
$this->queryB = "SELECT FOUND_ROWS() AS `found_rows`;";
$this->resultB = $this->dbh->prepare($this->queryB);
$this->resultB->execute();
$this->rows = $this->resultB->fetch(PDO::FETCH_ASSOC);
$this->total_rows = $this->rows['found_rows'];
while($this->filas = $this->resultA->fetch(PDO::FETCH_ASSOC)){
$this->conceptos[] = array(
"Id" => $this->filas['idCodConceptos'],
"Concepto" => $this->filas['codConc'],
"Descripcion" => $this->filas['descripcion'],
"Contra Concepto" => $this->filas['codContraConcepto'],
"Debito / Credito" => $this->filas['debitoCredito'],
"Estado" => $this->filas['estado']
);
}
$this->dbh = null;
$this->data[] = array(
'TotalRows' => $this->total_rows,
'Rows' => $this->conceptos
);
return json_encode($this->data);
}
Como se puede ver, declaré cosas que no son propiedades, como queryA, queryB, total_rows, data, etc. Y luego las accedo con $this->... , entonces no se si está bien hacerlo de esta manera, el código funciona, pero en realidad me parece que no son propiedades específicas de un objeto las querys y los arrays con las filas.
2) Segunda y última consulta, puedo colocar un if para poder decidir qué metodo lanzar de acuerdo a parámetros que me llegan vía $_GET a un archivo intermedio? Especifíco, tengo un archivo llamado transaccionConceptos.php y deseo hacer algo por el estilo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
require_once '../class/classConceptos.php';
if(isset($_GET['opcion1'])){
//lanzo el metodo 1
$obj = new Conceptos();
$conceptos = $obj->metodo1();
echo $conceptos;
}else if(isset($_GET['opcion2'])){
// lanzo el metodo 2
$obj = new Conceptos();
$conceptos = $obj->metodo2();
echo $conceptos;
}elseif(isset($_GET['opcion3'])){
// lanzo el metodo 3
$obj = new Conceptos();
$conceptos = $obj->metodo3();
echo $conceptos;
}end if;
?>
No se si se entiende lo que quiero expresar, pero por favor si alguien puede dar un poco de luz a esta confusión les agradeceré mucho.
Saludos y buen domingo !!!!
Valora esta pregunta


1