最近一直在学习PHP 的类和对象 简单的讲一下PHP中的 __tostring方法
PHP中前面带有2个下划线_ 的方法(函数)叫做魔术方法(函数),类似__construct() __destruct() __set() __get() 这些都是在某一时刻不同情况自动调用执行的方法。 __tostring() 就是这样的,是在直接输出对象引用时自动调用的。注意(对象引用是一个指针,比如 $p=new Person() 中,$p就是一个引用,我们不能使用echo语句对他直接输出,否则会出现错误的。)但是如果我们在类里面定义了__tostring() 方法,再直接输出对象引用时,就不会再产生错误了。而是自动调用了“__toString()”方法,输出“__toString()”方法中返回的字符,所以“__toString()”方法一定要有个返回值(return 语句)。
============》废话不多说,砸门(咱们)举个例子吧。《==========
<?php
class NvShen{
public $tel;
public function __construct($foo) {
$this->tel = $foo;
}
//定义一个__toString方法,返加一个成员属性$tel
public function __toString() {
return $this->tel;
}
}
$nanshen = new NvShen('138385438');
//直接输出对象
echo $nanshen;
?>
运行结果会输出138385438,试一试吧,很有趣的哦。![偷笑](http://static.blog.csdn.net/xheditor/xheditor_emot/default/titter.gif)