class A { public static function echoClass() { echo __CLASS__; }
public function what(){ echo __CLASS__;}
public static function test() { <pre name="code" class="php"> $this->what(); //输出Bstatic::echoClass(); //출력 B self::echoClass() //출력 A } } 클래스 B 확장 A { 공개 정적 함수 echoClass() { echo __CLASS__ } } B::test();
self는 현재 클래스의 객체를 나타내고, static은 호출 클래스의 객체를 나타내며, $this도 현재 호출되는 클래스의 객체를 참조하지만 $this는 정적 속성을 호출할 수 없습니다. self 예, __CLASS__를 사용하여 클래스 이름을 지정하는데 일반적으로 클래스 메서드를 등록할 때 사용합니다.
class B extends A { public static function echoClass($name=1) { spl_autoload_register(array(__CLASS__,"echoClass")); echo __CLASS__; } }
저작권 : 본 글은 블로거이며 게시되지 않았습니다. 블로거의 허가 없이는 복제가 허용되지 않습니다.
위에서는 php53의 새로운 기능인 지연된 정적 바인딩을 소개했으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.