🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
__toString() 是快速获取对象的字符串信息的魔术方法,它在直接输出对象引用时自动调用。 __toString() 的作用: 当我们调试程序时,需要知道是否得出正确的数据,比如打印一个对象时,看看这个对象都有哪些属性,其值是什么。如果定义了toString方法,在打印对象体时,就会自动调用该方法,格式化输出这个对象所包含的数据。 ``` <?php class Person{ private $name = ""; function __construct($name = ""){ // 定义构造函数 $this->name = $name; } public function say(){ // 定义公共方法 echo "hello,".$this->name."!"; } function __toString(){ // 定义获取字符串的魔术方法 return "__toString:".$this->name.'!'; } } $blog = new Person('blog'); $blog->say(); // 输出:hello,blog! echo $blog; // 输出:__toString:blog! ?> ``` 如果没有定义__toString() 方法,则执行echo语句时,会报错。 Catchable fatal error: Object of class Person could not be converted to string in /usercode/file.php on line 16