有什么方法可以在不逐行分配空值的情况下使所有 $this 变量无效?
public function refresh(){
unset($this);
}
未设置不起作用..
你不能 unset($ths) 当你在 $this; 否则你将无处可去。
$this->propertyA = $this->propertyB = $this->propertyC = NULL;
你为什么要这样做?简单地取消设置你正在使用的类的实例,里面的一切都消失了
$a = new SomeClass();
$a->someVar = "1";
$a->someOtherVar = "2";
unset($a);
但是不要忘记创建一个新实例,如果你想继续$a
但是,这会将所有值重置为它们在属性定义中设置的默认值:
foreach (get_class_vars(get_class($this)) as $name => $def){
$this->$name = $def;
}
您可以尝试遍历每个字段并一一取消设置。像这样:
function refresh() {
foreach($this as $key => $value) {
unset($this->$key);
}
}
注意:我现在无法测试此代码未经测试。