最近一直在学习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,试一试吧,很有趣的哦。
本文介绍了PHP中魔术方法__toString()的使用方法及其作用。当直接输出对象时,如果没有定义该方法会导致错误,而通过定义__toString()方法并设置返回值,则可以直接输出对象的指定属性。
1826

被折叠的 条评论
为什么被折叠?



