원래 엄격한 경고 없이 코딩되었지만 이제 프로젝트는 이를 활성화한 후 수많은 경고를 트리거합니다. 그 중에는 추상 상위 클래스 Program의 추상 정적 함수에 대한 경고가 있습니다. 문서에 따르면 추상 정적 함수는 PHP 5.0.x 및 5.1.x에서 의도치 않게 허용되었으며 더 이상 허용되지 않습니다.
PHP 5.2에는 후기 정적 함수가 부족했습니다. PHP 5.3에서 사용할 수 있게 된 바인딩. 이 기능을 사용하면 상위 클래스 메서드가 하위 클래스의 정적 메서드를 호출할 수 있습니다. 이것이 없으면 상위 클래스가 하위 클래스의 정적 메소드를 호출할 수 없기 때문에 PHP 5.2의 추상 정적 메소드는 비효율적이었습니다.
후기 정적 바인딩이 도입되면서 추상 정적 메소드는 관련성을 다시 얻었습니다. . 그럼에도 불구하고 경고는 지속됩니다. 추상 정적 메소드가 추상 클래스에서 손상된 공용 메소드를 노출시킬 수 있다는 주장이 있을 수 있지만, 이 주장은 약한 것으로 간주됩니다.
PHP 버그 리포트 53081 요청 경고 제거. 처음에는 가짜로 간주된 보고서는 나중에 PHP 창시자인 Rasmus Lerdorf의 오해로 인해 가짜로 처리되었습니다.
PHP 7에서는 경고가 제거됩니다. Nikita Popov의 PHP RFC: Reclassify E_STRICT 공지에 감사드립니다. 온전한 방향으로의 이러한 움직임을 통해 개발자는 PHP 5.2에서 발생하는 잘못된 경고가 발생하지 않고 추상 정적 메서드를 활용할 수 있습니다.
위 내용은 PHP 5.2에서 추상 정적 클래스 메서드가 허용되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!