Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/08/2016, 09:35
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Problema al crear un Objeto desde dentro de otro objeto

Esto es básico, php cree que estas llamando a una función que esta en mismo contexto que la clase. Es decir si tu haces esto.
Código PHP:
Ver original
  1. class Test {
  2.    
  3.     public $message;
  4.    
  5.     public function __construct()
  6.     {
  7.         $this->message = display();
  8.     }
  9.    
  10.     public function display()
  11.     {
  12.         return 'Hola mundo';
  13.     }
  14.    
  15.     public function __toString()
  16.     {
  17.         return $this->message;
  18.     }
  19.    
  20. }
  21.  
  22. $test = new Test;
  23. echo $test;
Te va a marcar el error que mencionas, si quieres llamar a un método dentro de tu clase tienes que usar $this
Código PHP:
Ver original
  1. class Test {
  2.    
  3.     public $message;
  4.    
  5.     public function __construct()
  6.     {
  7.         $this->message = $this->display();
  8.     }
  9.    
  10.     public function display()
  11.     {
  12.         return 'Hola mundo';
  13.     }
  14.    
  15.     public function __toString()
  16.     {
  17.         return $this->message;
  18.     }
  19.    
  20. }
  21.  
  22. $test = new Test;
  23. echo $test;
Si notas la diferencia ?
Cosas adicionales; ya no se usa var para declarar variables y la libreria mysql esta obsoleta y por ultimo procura leer el manual
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.