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 originalclass Test {
public $message;
public function __construct()
{
$this->message = display();
}
public function display()
{
return 'Hola mundo';
}
public function __toString()
{
return $this->message;
}
}
$test = new Test;
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 originalclass Test {
public $message;
public function __construct()
{
$this->message = $this->display();
}
public function display()
{
return 'Hola mundo';
}
public function __toString()
{
return $this->message;
}
}
$test = new Test;
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