在什么情况下需要使用PHP的魔术函数toString()

时间:2010-03-25 17:54:58

标签: php string class tostring

为什么程序员需要使用该功能?如何在php 4中实现相同的结果?

2 个答案:

答案 0 :(得分:1)

在任何想要控制对象在字符串上下文中使用时的行为(用作字符串)的情况下,例如

class FullName
{
    protected $firstName;
    protected $middleNames = array();
    protected $lastName;

    // ... methods ...

    public function __toString()
    {
        return sprintf('%s %s %s', $this->firstName,
                                   implode(' ', $this->middleNames),
                                   $this->lastName);
    }
}

$fullname = new FullName('John', array('Jim', 'Jamie'), 'Jackson');
echo "Hello, my name is $fullname";

您无法在PHP4中模拟此方法。事实上,你甚至不应该再使用PHP4了。

答案 1 :(得分:0)

请参阅this question。如果它可用,它比铸造更能达到同样的效果。