Как будет вести себя вызов 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));
?>


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

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

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