魔术功能导致错误

时间:2012-10-01 21:03:06

标签: php magic-methods

我已经实现了魔术函数__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对象)

1 个答案:

答案 0 :(得分:0)

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

您的错误来自$configXML->ConfigurationFindResults->Configuration->Id;

相关问题