<?php
header("content-type:text/html;charset='utf-8'");
/*
定义了“__toString()”方法,在直接输出对象引用的时候,就不会产生错误,而是自动调用了”__toString()”方法,
输出“__toString()”方法中返回的字符,所以“__toString()”方法一定要有个返回值(return 语句).
当我们有了__toString()时,运行程序是不会报错,会给出一个友好的提示,或者说当我们输出实例化的对象时
会运行__toString()方法,里面运行什么我们自己定义。
*/
class TestClass
{
public $foo;
public function __construct($foo) {
$this->foo = $foo;
}
//定义一个__toString方法,返加一个成员属性$foo
public function __toString() {
return $this->foo;
}
}
$class = new TestClass('Hello');
//直接输出对象
echo $class;
//如果没有__toString方法,对象是不可以被输出的,只能被打印
//Catchable fatal error: Object of class Person could not be converted to string
//类Person对象不能转换为字符串
//print_r($class);
__toString()方法
最新推荐文章于 2022-08-12 21:56:45 发布