Задать вопрос

Как будет вести себя вызов var_dump внутри __debugInfo?

Начиная с версии 5.6.0 появился новый магический метод __debugInfo. Мне стало интересно, а как поведет себя интерпритатор, если мы напишем следующий код:
<?php
class C {
    private $prop;

    public function __construct($val) {
        $this->prop = $val;
    }

    public function __debugInfo() {
        var_dump( $this ); exit;
        return [
            'propSquared' => $this->prop ** 2,
        ];
    }
}

var_dump(new C(42));
?>


Будет ли циклическая зависимость или же сразу выведется фатал?
  • Вопрос задан
  • 2270 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
По идее будет бесконечный цикл, в большинстве подобных ситуаций php выдает ошибку. С интерфейсами Countable, Serializable думаю ситуация аналогичная.
Ответ написан
Комментировать
Melkij
@Melkij
DBA для вашего PostgreSQL?
Хороший вопрос.
Но ни то ни другое. segfault =)
Так что в полку компактных сегфолтов прибыло.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы