我做了一个类:
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;)?