oop — удаление объекта PHP; также unset () и __destruct

Являются ли они правильными:

1) Любой объект PHP всегда удаляется после запуска (как и его код).

2) unset ($ objectName) просто стимулирует то, что произойдет в любом случае. Удаление будет немного быстрее (из оперативной памяти), но в конце концов это будет одно и то же.

3) __destruct похож на событие, которое запускается до удаления объекта, поэтому мы можем иметь его или нет. Любой код может быть запущен в этом.

Имеет ли unset () какое-либо отношение к __destruct. Как бы просто пойти на это (как единственный шаг), а затем удалить?

-3

Решение

1) Переменные / объекты / ресурсы автоматически удаляются / освобождаются, когда скрипт, в котором они находятся, завершает выполнение. Нет необходимости (или не рекомендуется) вызывать unset () для всего.

2) Если вы хотите, чтобы что-то было удалено / освобождено до конца скрипта, вы можете явно удалить () это, и это произойдет немедленно, а не в конце скрипта. Это может освободить память, но обычно используется просто для того, чтобы исключить возможность повторного обращения к объекту.

3) Правильно.

Имеет ли unset () какое-либо отношение к __destruct.

Да. Непосредственно перед уничтожением объекта (либо с помощью явного unset (), либо по достижении конца скрипта) вызывается метод __destruct (), если он присутствует.

2

Другие решения

Других решений пока нет …