多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
例子: ``` <?php /** * User: 三千 * Date: 16/3/16 * Time: 下午3:32 */ class Account{ public $user = 1; private $pwd = 2; //自定义的格式化输出方法 public function __toString(){ return "当前对象的用户名是($this->user),密码是($this->pwd)"; } } $a = new Account(); echo $a; echo PHP_EOL; print_r($a); ``` 返回结果: ``` 当前对象的用户名是(1),密码是(2) Account Object ( [user] => 1 [pwd:Account:private] => 2 ) ``` 当使用__toString方法之后,输出的结果是可定制的,更易于理解。实际上,__toString方法也是一种序列化,我们知道PHP自带serialize/unserialize也是进行序列化的,但是这组函数序列化时会产生一些无用信息,如属性字符串字符,造成存储空间的无谓浪费。因此,可以实现自己的序列化和反序列化方法,或者json_encode/json_decode也是一个不错的选择。