tostring方法php,PHP魔术方法__toString()

注意:该方法必须返回字符串,否则会抛出"E_RECOVERABLE_ERROR"级别的异常。在__toString()方法中也不能抛出异常。

示例代码如下:

class Person

{

public $sex;

public $name;

public $age;

public function __construct($name="",  $age=25, $sex='Male')

{

$this->name = $name;

$this->age  = $age;

$this->sex  = $sex;

}

public function __toString()

{

return  'go go go';

}

}

$person = new Person('John'); // 赋初始值

echo $person;

输出结果如下:

go go go

如果类中没有定义__toString()会怎样?我们来试试看。

class Person

{

public $sex;

public $name;

public $age;

public function __construct($name="",  $age=25, $sex='Male')

{

$this->name = $name;

$this->age  = $age;

$this->sex  = $sex;

}

}

$person = new Person('John'); // 赋初始值

echo $person;

输出结果如下:

Catchable fatal error: Object of class Person could not be converted to string in D:\phpStudy\WWW\test\index.php on line 18

可见,它会在页面上报告致命错误,说明这种用法不允许。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值