前端之家收集整理的这篇文章主要介绍了
我们在哪里和为什么在PHP中使用__toString()?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我明白它是如何工作的,但为什么我们会用这个呢?
<?PHP
class cat {
public function __toString() {
return "This is a cat\n";
}
}
$toby = new cat;
print $toby;
?>
这不是这样吗?
<?PHP
class cat {
public function random_method() {
echo "This is a cat\n";
}
}
$toby = new cat;
$toby->random_method();
?>
我们不能使用任何其他公共方法输出任何文本?
为什么我们需要像这样的魔法?
你不需要它.但是定义它可以将对象隐式转换为字符串,这是方便的.
拥有直接回显的成员函数被认为是不好的形式,因为它给类本身的输出提供过多的控制.你想从成员函数返回字符串,让调用者决定如何处理它们:是将它们存储在一个变量中,还是将它们回显出来,或者回调它们.使用魔术功能意味着您不需要显式的函数调用来执行此操作.
原文链接:https://www.f2er.com/php/138158.html