1

引用PHP 文档中关于重载的内容:

除了 isset() 之外,不能在其他语言结构中使用重载属性。这意味着如果对重载属性调用 empty(),则不会调用重载方法。

要解决该限制,必须将重载的属性复制到范围内的局部变量中,然后交给 empty()。

这真的意味着我不能使用类似的东西

if (empty($this->foobar))

在课堂上,$this->foobar通过 解决的魔法属性在哪里__get(),或者我在这里误解了什么?

4

1 回答 1

3

__isset如果您也覆盖该方法,它将起作用。如此编写文档的原因是因为您无法调用empty() or isset()方法调用的结果。

于 2012-08-30T23:01:21.457 回答