Подтвердить что ты не робот

PHP: уничтожить объект из объекта?

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

4b9b3361

Ответ 1

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

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

В документации по PHP есть такая заметка (см. документацию unset()), но она точно не объясняет, когда unset() не вызывает метод __destruct().

И у меня было это конкретное поведение:

Я делаю a:

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

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

Николя.

Ответ 2

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

Ответ 3

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