从父类获取属性调用

时间:2014-10-07 12:30:00

标签: php selenium magic-methods

我有以下代码:

class Page extends APage{

    /**
     * @findby selector
     */
    protected $property

    public function getPropertyCount(){
        count($this->property);
    }

}


class APage{

    protected function initPropertyByAnnotation(){

    }      

}

我在php中使用selenium,在selenium中你选择一个带选择器的元素。 我希望父类检测对childs属性的调用,以便我可以处理实际的选择。

我认为这可以通过__get魔术方法实现,但事实证明它仅在未定义属性时触发。

有没有办法以某种方式检测调用而不使用像getProperty这样的辅助方法?

1 个答案:

答案 0 :(得分:1)

您可以使用__get()功能将您的媒体资源范围更改为私有
正如文档所说:

  

__ get()用于从不可访问的属性中读取数据。

public function __get($field) {
    if ($field == 'property') { //the name of your property
        //do something that you want
    }
}