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