Автоматическое удаление всех переменных класса в _destruct в PHP5 - PullRequest
1 голос
/ 07 июля 2011

У меня есть класс, в котором переменные класса установлены в некоторых методах. В классе есть функция __destruct (), которая сбрасывает переменные класса с помощью функции unset ().

Сейчас я перечисляю все переменные, которые нужно сбросить, в __destruct, но, похоже, должен быть способ отменить все.

Например, сейчас я делаю это:

function __destruct()
{
  unset($this->variable1);
  unset($this->variable2);
  //et cetera
}

Конечно, есть способ сбрасывать их ВСЕ, не перечисляя их, верно?

1 Ответ

5 голосов
/ 07 июля 2011
foreach ($this as &$value) {
    $value = null;
}

См. http://www.php.net/manual/en/language.oop5.iterations.php.

Вы не должны unset свойства, они являются частью класса / объекта. Установите вместо них null, чтобы очистить их значения. Но: объект в любом случае почти исчерпан, и все свойства уйдут вместе с ним. В этом нет особой необходимости.

...