비정적 메서드 호출
"오류 메시지 엄격한 표준: 비정적 메서드를 정적으로 호출하면 안 됩니다."라는 오류가 발생했습니다. 비정적 메소드가 마치 정적 메소드인 것처럼 호출될 때 발생합니다.
제공된 PHP 코드에서 문제는 Page 클래스 내에 있습니다. getInstanceByName() 및 getInstanceBySpecial() 메서드는 비정적 메서드로 정의됩니다. 즉, Page 클래스의 인스턴스를 사용하여 호출해야 합니다. 그러나 Page 클래스의 인스턴스 없이 정적 메서드로 호출하려고 합니다.
해결 방법
이 문제를 해결하려면 메서드를 만들어야 합니다. 선언에 static 키워드를 추가하여 static으로 만듭니다. 변경:
function getInstanceByName($name='') {
다음으로:
public static function getInstanceByName($name='') {
마찬가지로 getInstanceBySpecial() 메서드도 정적으로 수정합니다.
이렇게 변경한 후에는 다음을 수행해야 합니다. 오류 없이 getInstanceByName() 및 getInstanceBySpecial()을 정적 메서드로 호출할 수 있습니다.
위 내용은 PHP에서 \'엄격한 표준: 비정적 메서드는 정적으로 호출하면 안 됩니다\'가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!