2012-11-02 3 views
0

간단한 PHP 문제에 대한 짧은 질문.PHP에서 수퍼 클래스의 보호 된 var 액세스

class topclass { 
protected $test; 
//.... 
} 

class childclass extends topclass {` 
public static function accessVariable(){ 

//HOW CAN I ACCESS THE $Test VARIABLE OF THE SUPERCLASS HERE? 

}... 

누군가 나를 도울 수 있습니까? 일반 기능에 매우 정적 기능을 미리

답변

5

사용 self::$test 또는 parent::$test 훨씬 및 $this->test

들으. 보호 된 변수는 확장 클래스 범위 내에서 사용할 수 있으며 개인 변수는 사용할 수 없습니다.

self::$testparent::$test를 사용 사이의 차이점은 자식 클래스에 $test를 오버라이드 (override) 한 경우 self::$test를 사용할 때 재정의 된 가치를 얻을 것입니다.

물론 정적으로 속성에 액세스하려면 static (즉, protected static $test)으로 선언해야합니다.

+0

'self :: test' 문은'test'가 클래스 상수라고 가정합니다. – zerkms

+0

멋진 대답입니다. –