【发布时间】:2014-05-24 09:05:38
【问题描述】:
我在这里有点困惑。当一个对象的值没有被设置时,我需要抛出一个异常,但是不管它是否被设置,它都会抛出我的异常。
我跑
var_dump(isset($this->{$idName}));
var_dump($this->{$idName});
结果是
bool(false)
string(1) "1"
我希望第一个是真的。我错过了什么明显的东西吗?
为了明确起见,我正在尝试检查存储在$idName 中的对象的属性是否已设置。在这种情况下$idName = "id"
所以$this->id 是我正在检查的。
$this->id 将从 __get() 中检索
【问题讨论】:
-
您确定
$this->id存在并且不是通过__get()访问的吗? -
你在课堂上创建了一个神奇的 __isset() 方法吗?还是只有一个神奇的 __get() 方法?
-
啊,是的,它来自 __get().. 那一定是我的问题。好的,打电话,如果你设置一个答案,我会接受,谢谢。
标签: php object properties