В любом сценарии, где вы хотите контролировать поведение объекта при использовании в строковом контексте (используется как строка), например,
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.