2014-10-07 5 views
0

에서 속성 전화 받기 나는 다음과 같은 코드를 가지고 : PHP로부모 클래스

class Page extends APage{ 

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

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

} 


class APage{ 

    protected function initPropertyByAnnotation(){ 

    }  

} 

임 사용 셀레늄, 당신은 선택이있는 요소를 선택 셀레늄을. 실제 선택을 처리 할 수 ​​있도록 부모 클래스가 childs 속성에 대한 호출을 감지하도록합니다.

나는 이것이 __get magic method를 통해 가능하다고 생각했지만 속성이 정의되지 않았을 때만 트리거되었다.

getProperty와 같은 도우미 메서드를 사용하지 않고 호출을 감지하는 방법이 있습니까?

+0

__get()은 액세스 특성 데이터를 판독하는 사용된다. 따라서 Page 클래스에서 $ property를 정의하지 않으면 __get을 호출 할 것입니다. –

+0

하지만 주석을 설정하고 주석을 읽기 위해 정의해야합니다. – HerrWalter

답변

1

속성의 범위를 개인으로 변경하는 기능을 __get() 사용할 수 있습니다. 워드 프로세서로
는 말한다 :

__get()가 액세스 할 수없는 속성에서 데이터를 읽기 위해 사용된다.

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