#php #lamp
#php #lamp
Вопрос:
В PHP такой волшебный метод запускается автоматически, когда переменная, ссылающаяся на объект, находится в операторе echo?
Комментарии:
1. Нет. Вы просто получите
Recoverable fatal error: Object of class yourClass could not be converted to string
.
Ответ №1:
Извините, мне было довольно сложно понять, о чем вы спрашиваете. Я полагаю, вам нужен __toString()
метод:
__toString()
Метод позволяет классу решать, как он будет реагировать, когда он обрабатывается как строка. Например, чтоecho $obj;
будет печатать. Этот метод должен возвращать строку, так как в противном случае выдается фатальная ошибка уровня E_RECOVERABLE_ERROR.
Вот краткий пример:
class A
{
public function __toString()
{
return 'banana';
}
}
$a = new A();
echo $a;
Это выведет banana