Являются ли они правильными:
1) Любой объект PHP всегда удаляется после запуска (как и его код).
2) unset ($ objectName) просто стимулирует то, что произойдет в любом случае. Удаление будет немного быстрее (из оперативной памяти), но в конце концов это будет одно и то же.
3) __destruct похож на событие, которое запускается до удаления объекта, поэтому мы можем иметь его или нет. Любой код может быть запущен в этом.
Имеет ли unset () какое-либо отношение к __destruct. Как бы просто пойти на это (как единственный шаг), а затем удалить?
1) Переменные / объекты / ресурсы автоматически удаляются / освобождаются, когда скрипт, в котором они находятся, завершает выполнение. Нет необходимости (или не рекомендуется) вызывать unset () для всего.
2) Если вы хотите, чтобы что-то было удалено / освобождено до конца скрипта, вы можете явно удалить () это, и это произойдет немедленно, а не в конце скрипта. Это может освободить память, но обычно используется просто для того, чтобы исключить возможность повторного обращения к объекту.
3) Правильно.
Имеет ли unset () какое-либо отношение к __destruct.
Да. Непосредственно перед уничтожением объекта (либо с помощью явного unset (), либо по достижении конца скрипта) вызывается метод __destruct (), если он присутствует.
Других решений пока нет …