Maison >développement back-end >tutoriel php >Explication détaillée de la méthode __toString() en PHP
__toString(), la méthode de réponse lorsque la classe est traitée comme une chaîne
Fonction :
La méthode __toString() est utilisée pour une classe Comment répondre lorsqu'elle est traitée comme une chaîne. Par exemple, ce que « echo $obj; » devrait afficher.
Remarque :
Cette méthode doit renvoyer une chaîne, sinon une erreur fatale de niveau `E_RECOVERABLE_ERROR` sera émise.
Attention :
Impossible de lever des exceptions dans la méthode __toString(). Cela entraînerait une erreur fatale.
Code :
<?php class Person { public $sex; public $name; public $age; public function __construct($name="", $age=25, $sex='男') { $this->name = $name; $this->age = $age; $this->sex = $sex; } public function __toString() { return 'go go go'; } } $person = new Person('小明'); // 初始赋值 echo $person;
Résultat :
go go go
Alors, que se passe-t-il si la méthode magique __toString() s'exécute sans elle dans la classe ? Testons-le :
Code :
<?php class Person { public $sex; public $name; public $age; public function __construct($name="", $age=25, $sex='男') { $this->name = $name; $this->age = $age; $this->sex = $sex; } } $person = new Person('小明'); // 初始赋值 echo $person;
Résultat :
Catchable fatal error: Object of class Person could not be converted to string in D:\phpStudy\WWW\test\index.php on line 18 很明显,页面报了一个致命错误,这是语法所不允许的。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!