gpt4 book ai didi

php - 我们在哪里以及为什么在 PHP 中使用 __toString()?

转载 作者:IT王子 更新时间:2023-10-28 23:47:25 28 4
gpt4 key购买 nike

我了解它的工作原理,但我们为什么要实际使用它?

<?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();
?>

我们不能只使用任何其他公共(public)方法来输出任何文本吗?为什么我们需要这样的魔法方法?

最佳答案

您并不“需要”它。但是定义它可以让你的对象隐式转换为字符串,这很方便。

拥有直接echo 的成员函数被认为是糟糕的形式,因为它给了类本身太多的输出控制权。您想要从成员函数返回字符串,并让调用者决定如何处理它们:是将它们存储在变量中,还是 echo 它们出来,或者其他。使用魔术函数意味着您不需要显式函数调用来执行此操作。

关于php - 我们在哪里以及为什么在 PHP 中使用 __toString()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5172261/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com