В каком сценарии нужно использовать магическую функцию PHPs toString () - PullRequest
0 голосов
/ 25 марта 2010

Зачем программисту использовать эту функцию? Как бы такие же результаты были достигнуты в php 4?

Ответы [ 2 ]

1 голос
/ 25 марта 2010

В любом сценарии, где вы хотите контролировать поведение объекта при использовании в строковом контексте (используется как строка), например,

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.

0 голосов
/ 25 марта 2010

Пожалуйста, посмотрите этот вопрос . Если он доступен, то предпочтительнее каста, чтобы достичь того же.

...