我做了一个类:
class MyClass {
function __get($name) {
$this->{$name} = $_SESSION[$name];
}
public function isNull(){
return $this->MyVar === null;
}
}
var_dump($obj->isNull()) //$obj is instance of MyClass
总是输出设置与否bool(true)
无关紧要$_SESSION['MyVar']
。但是,如果我按预期添加$this->MyVar;
之前return $this->MyVar === null;
的作品。
好吧,它似乎__get()
已执行(因为$MyVar
未设置因此无法访问)但属性保持 NULL 直到第二次使用。
它发生是因为它根本没有设置吗?如何避免使用额外的行($this->MyVar;
)?