Я думаю, что одна большая вещь, которую вы упустили, это то, что вся память, выделенная PHP во время выполнения скрипта, освобождается после его завершения. Даже если пользователь нажимает кнопку остановки, PHP обрабатывает сценарий до его завершения, возвращает его демону HTTP для обслуживания посетителю (или нет, в зависимости от того, насколько умным является демон).
Итак, явное освобождение памяти в конце выполнения скрипта немного избыточно. Некоторые могут возразить, что это было бы хорошо, но это все еще излишне.
Но, что касается деструкторов классов, они вызываются всякий раз, когда объект уничтожается, либо явно с помощью unset()
, либо при завершении / завершении скрипта.
Рекомендация разработчика о явном освобождении памяти, используемой при манипулировании изображениями, просто гарантирует, что утечка памяти будет абсолютно невозможна, поскольку растровые изображения могут напрягать стороны памяти (высота * ширина * разрядность * 3 (+ 1, если у вас есть альфа-канал))
Чтобы удовлетворить ваши потребности в Википедии: