ProgramingTip

PHP에서 슈퍼를 호출하는 방법?

bestdevel 2020. 12. 10. 20:54
반응형

PHP에서 슈퍼를 호출하는 방법?


나는 classB확장이 classA있습니다. 에서 classB정의 된 메서드 fooBar()정의합니다 classA. 에서 fooBar()classB나는 전화를 걸 fooBar()classA시작 부분에. Objective-C에서 제가 익숙한 방식입니다. PHP에서 가능합니까? 어떻게 어떻게?


parent::fooBar();

매뉴얼 에서 바로 :

... 이중 콜론은 ... 재정의 된 속성 또는 클래스의 메소드에 대한 액세스를 허용하는 토큰입니다.

...

Example # 3 부모의 메서드 호출

<?php
class MyClass
{
    protected function myFunc() {
        echo "MyClass::myFunc()\n";
    }
}

class OtherClass extends MyClass
{
    // Override parent's definition
    public function myFunc()
    {
        // But still call the parent function
        parent::myFunc();
        echo "OtherClass::myFunc()\n";
    }
}

$class = new OtherClass();
$class->myFunc();
?>

이것은 구글에서 쉽게 나오지 검색 않기 때문에 간단히 메모하고 찾을 수 난 웬지 - PHP에 잘 문서화 문서되어 있습니다 . 슈퍼 클래스의 생성시 호출해야하는 서브 클래스가있는 경우 다음을 사용하여 호출 할 수 있습니다.

parent::__construct(); // since PHP5

예를 들어 슈퍼 클래스의 생성자에 몇 가지 인수가 있고 구현하는 클래스가 다음을 호출해야하는 경우입니다.

class Foo {

  public function __construct($lol, $cat) {
    // Do stuff specific for Foo
  }

}

class Bar extends Foo {

  public function __construct()(
    parent::__construct("lol", "cat");
    // Do stuff specific for Bar
  }

}

여기 에서 더 많은 동기를 부여 할 수 있습니다 .

참고 URL : https://stackoverflow.com/questions/1961907/how-to-call-super-in-php

반응형