AleksandrB
@AleksandrB
Совсем недавно вывел "Hello world"

Вопросик о деструкторе?

Как я понял, деструктор вызывается после завершения выполнения скрипта в классе. Так вот, у меня есть mvc шаблон. В index я инклужу файл с несколькими функциями, далее вызываю роутер и в этом роутере вызываю одну из подключенных инклудом функций.
Эти функции взаимосвязаны, то есть имеют общие глобальные переменные, которые задаю выше. Первая функция записывают определенное значение в одну из переменных, далее у меня идет вызов нескольких других классов (первый из роутера и там по цепочки) и скрипт может закончиться вызовом функции во view, а может в контроллере или model.
Если я вызову деструктор в роутере, он сработает после выполнения всего скрипта, включая view,model,controller или после передачи скрипта следующему классу?
  • Вопрос задан
  • 142 просмотра
Пригласить эксперта
Ответы на вопрос 1
ivankomolin
@ivankomolin
Как я понял, деструктор вызывается после завершения выполнения скрипта в классе

Откуда вы берете такие мысли?
В любой непонятной ситуации стоит обращаться к официальной документации:
https://www.php.net/manual/en/language.oop5.decon.php
Вот тут четко написано когда неявно вызывается деструктор:
The destructor method will be called as soon as there are no other references to a particular object, or in any order during the shutdown sequence.


Т.е. деструктор будет вызван тогда, когда все ссылки на объект будут уничтожены, либо произойдет завершение работы скрипта в котором этот объект был создан.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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