Волшебный метод для запуска, когда на объект ссылается переменная в инструкции echo

#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