2012-11-27 6 views
0

나는 OOP 아주 새로운 그리고 난 묻고 싶은 몇 가지가있다.PHP OOP - 확장 클래스

나는 OOP를 사용하여 워드 프레스를위한 플러그인을 쓰고 있어요 그리고 내가 다른 플러그인 개발자가 확장하고 특정 기능을 재정의 할 수 있습니다 방법을 찾고 싶어요. 가)

class MyPlugin { 

    // .. methods here .. 

    public function myMethod(){ 
     // do something 
    } 

} 

$myplugin = new MyPlugin; 

그러나, 나는 또한 (다른 플러그인이 MyMethod라는를 다시 작성할 수 있도록하려면 다음과 클래스 파일의 맨 아래에 인스턴스화로

나는 수업에 싸여 주요 코드가 클래스를 확장합니다.
class OtherPlugin extends MyPlugin { 
    public function myMethod(){ 
     // do something else 
    } 
} 

그러나에 $myplugin->myMethod() 위해서는

나는 이것이 $myplugin 객체 오버라이드 (override) 할한다, '다른 무언가를'

$myplugin = new OtherPlugin; 

답변

1

예, 새와 그 변수를 다시로드 할 것을 수정 클래스 ... 참조로 전달하지 않는 한. 그것을 확인해 ... it's a neat little trick.

해피 코딩! 귀하의 답변 =)

+0

감사합니다. 그러나 객체에 이미 속성이있는 경우에는 어떻게됩니까? 변수를 다시로드하지 않아도 모든 속성이 재설정됩니까? 그리고 참조로 전달하는 것에 대해 좀 더 설명해 주시겠습니까? PHP 매뉴얼을 읽고 어떻게 작동하는지 알았지 만,이 상황에서 어떻게 적용될 수 있는지는 알 수 없습니다. – mushroom

+0

내가 묻는 내용을 이해하는 데 중대한 실수를 저 지르지 않는 한, 나는 문제가있을 것이라고 생각하지 않는다. 동일한 클래스를 실행 중이므로 확장 기능과 별개로 모든 것이 동일합니다. 테스트 케이스를 직접 실행하고 문제가 있으면 다시 방문하십시오! 그리고 참조로 전달함으로써, 나는 단순히 변수를 명시 적으로 재설정하는 대안을 제시하고있었습니다. 그것은 당신의 목적을 위해 어느 쪽의 방법이라도 정말로 중요하지 않다. – Nathanael