Как уничтожить объект класса в PHP? - PullRequest
5 голосов
/ 08 апреля 2011

Я написал небольшой класс для хранения глобальных переменных / функций. Мой вопрос - нужно ли уничтожать объект класса после завершения скрипта? или PHP уничтожит сам этот объект?

Вот мой код:

$web=new c_web("myWeb");
$web->loadTemplate("/!framework/admin/template.htm");
$web->doStuff();
// script has finished - destroying required here?

Если мне нужно это уничтожить, как я могу это сделать?

Ответы [ 3 ]

9 голосов
/ 08 апреля 2011

Если сценарий завершается, память освобождается.Вы готовы как есть:)

4 голосов
/ 08 апреля 2011

Как сказал @Nanne, если скрипт завершил работу, память освобождается, однако в некоторых случаях вы можете захотеть unset ($ web); .

4 голосов
/ 08 апреля 2011

Нет, вам не нужно уничтожать какую-либо переменную самостоятельно (а объект является переменной) : как только ваш PHP-скрипт завершит работу, его переменные будут освобождены, а соответствующая память освобождена .

На самом деле, переменная автоматически уничтожается при достижении конца ее области видимости переменной - и, когда вы достигаете конца сценария, это конец области, представленной выполнение этого скрипта.


(Отвечая на комментарий к другому ответу)
Конечно, когда ваш скрипт завершается из-за ошибки, происходит то же самое: переменные освобождаются, а память освобождается.

...