Вопрос

Есть ли в PHP способ уничтожить объект изнутри этого же объекта?

Это было полезно?

Решение

Существует способ самоуничтожения объекта:

Использовать $GLOBALS массив, чтобы найти в нем свой экземпляр, затем используйте unset().Быть в курсе, что unset() не вызывает автоматически __destruct() волшебный метод на все времена...

Есть такая заметка таким образом (см. unset() документации) в документации PHP, но не объясняет, когда именно unset() не звонит в __destruct() метод.

И у меня было такое специфическое поведение:

Я делаю:

unset($myInstance);
$myInstance = clone $otherInstance;

И __constructor сначала вызывается, затем __destruct().Или я хотел бы __destruct() позвонить первым, потому что unset() перед клоном...Я застрял на этом сейчас...

Николас.

Другие советы

Если метод вызывается в контексте объекта, тогда должна быть хотя бы одна ссылка на этот объект. А поскольку php удаляет только недоступные объекты, ответ таков: нет.

Нет, я не думаю, что есть. Но нужна ли вам такая вещь?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top