ссылка на этот пост php 5.1.6 magic __toString метод
class YourClass
{
public function __toString()
{
return $this->name;
}
}
PHP <5.2.0 </p>
$yourObject = new YourClass();
echo $yourObject; // this works
printf("%s", $yourObject); // this does not call __toString()
echo 'Hello ' . $yourObject; // this does not call __toString()
echo 'Hello ' . $yourObject->__toString(); // this works
echo (string)$yourObject; // this does not call __toString()
какие другие методы я должен переопределитьчтобы получить объект для правильного отображения в контексте объединения строк / etc
в настоящее время, я получаю что-то вроде
echo 'Hello ' . $yourObject;
производит 'Hello Object ID 55';
у кого-нибудь есть решение в контексте:
- клиент не хочет обновлять свою версию php
- без разбрызгивания __toString повсюду
?