假设一个对象具有大量数据的属性,在析构函数中取消设置属性是否更有效?或者让 php 释放该对象分配的内存?
class A {
protected $foo;
protected $bar;
protected $baz;
public function __construct()
{
$this->foo = big_amount_of_data();
$this->bar = reference_to_a_big_object();
$this->foo = data_from_big_file();
}
public function doProcess()
{
// do something
}
public function __destruct()
{
// Should I do this?
unset(
$this->foo,
$this->bar,
$this->baz
);
}
}
最佳答案
分配 null 比取消设置要好。它更快,如果有其他变量引用您正在取消设置的变量,分配 null 实际上会释放内存,而取消设置不会 - 其他变量仍将具有数据而不是空值
关于php - 在析构函数中取消设置对象属性是否更有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25376599/