[POO] les mystères du __toString()
La question m'étant revenue à l'esprit sur un autre fil, j'en profite. Voici ce qui m'inquiète avec cette fonction magique : si je prends l'exemple de la doc PHP pour cette fonction en y ajoutant deux autres echos :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| class ClasseTest
{
public $foo;
public function __construct($foo) {
$this->foo = $foo;
}
public function __toString() {
return $this->foo;
}
}
$class = new ClasseTest('Bonjour');
echo $class;
echo "<br/>$class";
echo '<br/>'.$class; |
Ca me donne comme sortie :
Citation:
Bonjour
Object id #1
Object id #1
Le premier est correct, les deux autres appellent le __toString() de base et non ma version surchargée.
Quelqu'un a-t-il une explication ????? 8O