Ver Mensaje Individual
  #10 (permalink)  
Antiguo 12/12/2012, 16:00
Avatar de jonni09lo
jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: declaración de variables en PHP OOP

Pensando en tu segundo ejemplo, y analizando lo que te he dicho creo que deberias pensar en lo siguiente

Las propiedades de la clase, son usadas mas que todo cuando necesitas reutilizar el resultado de una funcion dentro de otra funcion dentro de la misma clase, me explico:

Código PHP:
Ver original
  1. class TarjetaTelefono
  2. {
  3. public $tarjeta;
  4. public $numeros_marcados;
  5.  
  6. public function getNumeroDeTarjetaByID($id)
  7. {
  8. $this->tarjeta = "SELECT numero FROM tabla WHERE tarjeta_id = '$id'";
  9. return $this->tarjeta;
  10. }
  11.  
  12. public function getNumerosMarcadosByID($id)
  13. {
  14. $this->numeros_marcados = "SELECT numeros_marcados FROM tabla WHERE tarjeta_id = '$id'";
  15. return $this->numeros_marcados;
  16. }
  17. }

En este caso las dos propiedades publicas no son necesarias, la razon?? porque los dos metodos pueden actuar independientemente el uno del otro, entonces no es necesario colocar metodos

PERO si getNumerosMarcadosByID dependiera de un resultado que proviene de otra funcion (getNumeroDeTarjetaByID) en este caso si seria necesario

Código PHP:
Ver original
  1. class TarjetaTelefono
  2. {
  3.       public num_tarjeta = null;
  4.       public function getNumeroDeTarjetaByID($id)
  5.       {
  6.              $this->num_tarjeta  = "SELECT numero FROM tabla WHERE tarjeta_id = '$id'";
  7.              return $this->num_tarjeta;
  8.       }
  9.  
  10.       public function getNumerosMarcadosByID()
  11.       {
  12.              $numeros_marcados = "SELECT numeros_marcados FROM tabla WHERE numero = '{$this->num_tarjeta}'";
  13.              return $numeros_marcados;
  14.       }
  15. }

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.