1

我已经实现了魔术功能__get()并且__set()

function __get($property) {
        if(isset($this->$property)) {
            return $this->$property;
        } else {
            return null;
        }
    }

    function __set($property, $value) {
        $this->$property = $value;
    }

以下代码工作正常:

$connect->Hammer = "DoubleClawed";
echo $connect->Hammer;

但是,当我运行一些单元测试时,该行:

$this->Id = (int) $configXML->ConfigurationFindResults->Configuration->Id;

给我:

试图获取非对象的属性

在此之前还有其他神奇设置的变量。我还使用非魔法方法测试了这段代码,它可以工作。为什么这条线会触发它?($configXML是一个 SimpleXML 对象)

4

1 回答 1

0

__get你的 魔法__set在我看来很好。(我在我的应用程序中使用相同的代码)。

你的错误来自形式 $configXML->ConfigurationFindResults->Configuration->Id;

于 2012-10-01T21:06:48.450 回答