2014-03-05 3 views
-2

하위 클래스의 상위 클래스에서 공용 변수에 액세스하려면 어떻게해야합니까?하위 클래스의 var 부모 클래스에 액세스하는 방법

나는 액세스해야하는 몇 가지 변수가 있습니다. 난이 오류가 몇 가지 이유를 들어

'치명적인 오류 : $ 사용이하지 않을 때 개체 컨텍스트에서의 ...'

class mainclass{ 
     public $hello = 'hello'; 
    } 
    class subclass extends mainclass{  
     public function sayhello(){ 
     $this->hello;// not working 
     } 
    } 
+0

"작동하지 않는다"는 것을 의미합니까? 이 코드를 정확히 실행하는 방법은 무엇입니까? – zerkms

+0

잘 오류가 발생합니다. '치명적 오류 : 객체 컨텍스트가 아닐 때 $ this를 사용합니다 ....' – user759235

+1

그리고이 코드를 어떻게 실행합니까? 당신은 당신의 오류 메시지로 구글을 시도 했습니까? 왜 안 그래? – zerkms

답변

-2

사용 parent::

class mainclass{ 
    public $hello = 'hello'; 
} 
class subclass extends mainclass{  
    public function sayhello(){ 
    echo public::hello; 
    } 
} 

내가 변경하는 것이 좋습니다 변수 hello를 private로 만들고이 인스턴스에 대한 getter 메소드를 작성하십시오.

-1

당신이 어떤 값을 메아리 반환하거나하지 말아 Beacuse

class mainclass{ 
     public $hello = 'hello'; 
    } 
    class subclass extends mainclass{  
     public function sayhello(){ 
     echo $this->hello; // or return $this->hello 

     } 
    } 

UPDATE : 당신이 객체를 사용하는 방법을 잘 모릅니다 Meaby? 이 코드는 작동합니다 !!

$class = new subclass(); 
    $class->sayhello(); 
+1

'echo'가 없다면 치명적 오류가 발생할 수 없습니다. – zerkms

+0

당신은 기분이 좋아? 그것은 작동! – ZiupeX

+0

'$ class'는 * 객체의 끔찍한 이름입니다 * – zerkms

관련 문제