Compte tenu d'une classe particulière avec une instance FOO, y a-t-il un moyen d'avoir PHP echo foo;
De manière personnalisée?
class TheClass {
public $Name;
public $Number;
function MrFunction() { /* bla bla bla */ }
}
$foo = new TheClass();
echo $foo;
Si je comprends bien, vous ne pouvez pas surcharger echo
et je me rends compte que je pourrais facilement avoir $foo->MrFunction()
faire le travail. Cependant, je me demande s'il y a un moyen de coder dans lequel
echo $foo
Imprime $foo->Name
Et $foo->Number
.
Nous utilisons version php 5.2.6 mais la mise à niveau n'est pas un problème.
class TheClass {
public $Name;
public $Number;
function MrFunction() { /* bla bla bla */ }
public function __toString()
{
return $this->Name . ' '. $this->Number;
}
}
echo $theClassInstance;
Je pense que vous recherchez print_r($foo)
ou var_dump($foo)
.
Oui, en utilisant la méthode de magie __ tostring
Ce dont vous avez besoin est la méthode __toString()
méthode magique. L'exemple dans les documents doit montrer ce dont vous avez besoin.
http://www.php.net/manual/fr/language.oop5.magic.php#language.oop5.magic.tostring :