php - 在 PHP5 的 _destruct 中自动取消设置所有类变量

我有一个类,其中一些方法中设置了类变量。该类有一个 __destruct() 函数,它使用 unset() 函数取消设置类变量。

现在我正在列出所有要在 __destruct 中取消设置的变量,但似乎应该有一种方法可以取消所有设置。

例如,现在我正在这样做:

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

肯定有一种方法可以取消所有设置而不列出它们,对吧?

最佳答案

foreach ($this as &$value) {
    $value = null;
}

参见 http://www.php.net/manual/en/language.oop5.iterations.php .

您不应该unset 属性,它们是类/对象的一部分。将它们设置为 null 以清除它们的值。但是:无论如何,该对象即将耗尽内存,所有属性都会随之消失。没有真正需要这样做。

https://stackoverflow.com/questions/6604988/

相关文章:

google-chrome - 谷歌浏览器 Cookie 扩展 : "Cannot call met

database-design - 事务处理 : How are simultaneous tran

scala - Scala 中的可观察 map

oracle - 我可以更改 Oracle 中的隔离级别吗?

css - 带有 CSS float div 的多行

sql-server - 为什么我的 SQL Server 标识值被重用?

regex - 从编号列表中删除数字和分隔符

sql - 是否可以用简单的汇编语言处理器级代码编写 SQL 语句?

c# - 将文件流长度转换为 int

php - 使用 Session 或 Cookie 登录