Ver Mensaje Individual
  #12 (permalink)  
Antiguo 12/12/2012, 22:07
goransh_pc
 
Fecha de Ingreso: junio-2011
Mensajes: 80
Antigüedad: 12 años, 10 meses
Puntos: 8
Respuesta: declaración de variables en PHP OOP

Cita:
Iniciado por jonni09lo Ver Mensaje
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
Hola jonni09lo,

Primero que todo muchas gracias por tu ayuda y el debate.

En cuanto a tu segundo ejemplo también pudieras decir de esta forma.

Código PHP:
class TarjetaTelefono 

      public function 
getNumeroDeTarjetaByID($id
      { 
             
$num_tarjeta  "SELECT numero FROM tabla WHERE tarjeta_id = '$id'"
             return 
$num_tarjeta
      } 

      public function 
getNumerosMarcadosByID($id
      { 
             
$numeros_marcados "SELECT numeros_marcados FROM tabla WHERE numero = ' " $this->getNumeroDeTarjetaByID($id) .  "; 
             
             return $numeros_marcados; 
      } 

Con esto me refiero, que sin tener la variable declarada al inicio de la clase también puedo usar lo que me retorna el método y utilizar su resultado dentro del método que lo necesite al igual que llamar la variable.

Pero busco saber cuando usar una forma o otra, en que se diferencia.

Gracias una vez más