1. 후기 정적 바인딩의 작동 원리는 이전 "비전달 호출"에 클래스 이름을 저장하는 것입니다. 정적 메서드 호출을 수행할 때 클래스 이름은 명시적으로 지정된 이름입니다(일반적으로 :: 연산자의 왼쪽에 있음). 비정적 메서드 호출을 수행할 때는 개체가 속한 클래스입니다. 이 기능은 언어 내부 관점에서 "후기 정적 바인딩"이라고 합니다. "후기 바인딩"은 static::이 더 이상 현재 메서드가 정의된 클래스로 확인되지 않고 실제 런타임에 계산된다는 의미입니다.
2. 테스트 예:
class A{ public function run() { static::test(); //后期静态绑定 self::test(); //不是后期静态绑定 } public static function test() { echo 'A Class<br>'; }}class B extends A { public static function test() { echo 'B Class<br>'; }} $a = new B();$a->run(); //输出结果 //B Class //A Class
관련 권장 사항:
위 내용은 PHP 후기 정적 바인딩 예제 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!