PHP面向对象(OOP):__toString()方法
2015-08-11 10:04
597 查看
我们前面说过在类里面声明“__”开始的方法名的方法(PHP给我们提供的),都是在某一时刻不同情况下自动调用执行的方 法,“__toString()”方法也是一样自动被调用的,是在直接输出对象引用时自动调用的, 前面我们讲过对象引用是一个指针,比如 说:“$p=new Person()“中,$p就是一个引用,我们不能使用echo 直接输出$p,这样会输 出 “Catchable fatal error: Object of class Person could not be converted to string” 这样的错误,如果你在类里面定义了“__toString()”方法,在直接输出对象引用的时候,就不会产生错误,而是自动调用 了”__toString()”方法, 输出“__toString()”方法中返回的字符,所以“__toString()”方法一定要有个返回值(return 语句)。
<?php // Declare a simple class 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; ?>
相关文章推荐
- php继承详解 extends
- PHP面向对象(OOP):.static和const关键字的使用(self::)
- php -> =>的问题
- PHP和Mysql的Timestamp互换
- 在B获取A的数据——深入浅出讲ContentProvider
- thinkphp volist
- php防止恶意刷新页面的方法
- PHP面向对象(OOP):__set(),__get(),__isset(),__unset()四个方法的应用
- PHP5.3安装Zend Guard Loader代替Zend Optimizer
- 详解php的socket通信
- phpexcel下载多个sheet表单
- PHP基础----06逻辑运算
- PHP基础----05循环
- PHP基础----04流程控制
- PHP基础----03函数
- PHP基础----02常量与变量
- PHP基础----01PHP标记符
- 对Yii 2.0模型rules的理解(load()无法正确装载数据)
- Yii2.0 集成使用富头像上传编辑器
- php __DIR__ 解释下