__toString(),类被当成字符串时的回应方法

作用:

__toString() 方法用于一个类被当成字符串时应怎样回应。例如 `echo $obj;` 应该显示些什么。

注意:

此方法必须返回一个字符串,否则将发出一条 `E_RECOVERABLE_ERROR` 级别的致命错误。

警告:

不能在 __toString() 方法中抛出异常。这么做会导致致命错误。

代码:

<?phpclass 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;

结果:

go go go

那么如果类中没有 __toString() 这个魔术方法运行会发生什么呢?让我们来测试下:

代码:

<?phpclass 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;

结果:

Catchable fatal error: Object of class Person could not be converted to string in D:\phpStudy\WWW\test\index.php on line 18很明显,页面报了一个致命错误,这是语法所不允许的。

更多相关文章

  1. PHP之十六个魔术方法详解(总结)
  2. php中定义常量的两种方法
  3. 使用PHP多维数组重组方法,兼容API接口
  4. php 字符串替换方法
  5. php魔术常量使用方法
  6. php优化方法
  7. php数组去重的方法
  8. php引入文件的四个方法
  9. php反转字符串方法

随机推荐

  1. 基于android的远程视频监控系统(已开放源
  2. Android拨号器的实现
  3. 谷歌宣布Android设备累计激活量突破10亿
  4. 如何搭建android的开发环境 虚拟机和ubun
  5. [置顶] 一步一步学android OpenGL ES2.0
  6. Android Market正式更名Google Play Stor
  7. Android通讯-Socket(TCP/IP)
  8. 曼妙琳珑心 Android 面试题(2)
  9. 【转】Android下实现wap和net自适应
  10. android 监听edittext addTextChangedLis