您的位置:首页 > 其它

__toString()方法

2011-06-21 15:56 162 查看
我们前面说过在类里面声明“--”开始的方法名的方法(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 classCheap Reading glasses

class TestClass

{

public $foo;

public function __construct($foo) {

$this->foo = $foo;

}

//定义一个__toString方法,返加一个成员属性$foo

public function __toString() {

return $this->foo;

}

}

$class = new TestClass('Hello');

//直接输出对象Cheap Sunglasses

echo $class;

?>

上例输出:Hello
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: