예전에 한 번 본 적이 있는데, static과 self의 구체적인 차이점을 잊어버렸네요. 이번에 리뷰하겠습니다.
PHP5.3 이후에 static이 추가되었습니다. 영어 설명을 살펴보세요.
self는 새로운 작업이 수행되는 메서드와 동일한 클래스를 참조합니다.
PHP 5.3의 후기 정적 바인딩에서 static은 메서드를 호출하는 계층 구조의 모든 클래스를 나타냅니다.
이전에 좋은 예가 있는 기사를 본 적이 있습니다.class A { public static function who() { echo __CLASS__; } public static function test() { self::who(); // static::who(); } } A::test(); class B extends A { public static function who() { echo __CLASS__; } } echo B::test();
static: 자신을 호출하는 클래스를 가리킴
그래도 이해하기 쉽습니다. 다음에는 잊지 마세요.
위 내용은 정적 콘텐츠를 포함하여 PHP에서 정적과 자체의 차이점을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.