>백엔드 개발 >PHP 튜토리얼 >내 PHP 하위 클래스에서 'childClass::customMethod() 선언은 parentClass::customMethod() 선언과 호환되어야 합니다' 오류가 발생하는 이유는 무엇입니까?

내 PHP 하위 클래스에서 'childClass::customMethod() 선언은 parentClass::customMethod() 선언과 호환되어야 합니다' 오류가 발생하는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-13 20:02:15450검색

Why Does My PHP Child Class Throw a

PHP 메서드 선언 호환성 오류

오류 메시지 "Strict Standards: Declaration of childClass::customMethod() should be Compatible with that of childClass::customMethod()" parentClass::customMethod()"는 자식 클래스에 선언된 메서드가 해당 메서드와 호환되지 않는 경우 PHP에서 발생합니다.

이 오류의 원인을 확인하려면 두 메서드 사이의 "호환성"을 구성하는 요소를 이해하는 것이 중요합니다.

  • 인수 수 및 유형 : 하위 클래스 메소드는 상위 클래스 메소드와 동일한 개수 및 유형의 인수를 가져야 합니다. 예를 들어 상위 클래스 메서드가 두 개의 정수 인수를 사용하는 경우 하위 클래스 메서드는 하나의 정수와 하나의 문자열 인수를 사용할 수 없습니다.
  • 반환 유형: 하위 클래스 메서드의 반환 유형은 다음과 같아야 합니다. 상위 클래스 메소드의 반환 유형과 동일하거나 그 하위 유형이어야 합니다. 예를 들어 상위 클래스 메서드가 부울을 반환하는 경우 하위 클래스 메서드도 부울을 반환할 수 있지만 정수를 반환할 수는 없습니다.
  • 액세스 수준: 하위 클래스의 액세스 수준 클래스 메서드는 상위 클래스 메서드의 액세스 수준과 같거나 덜 제한적이어야 합니다. 즉, 상위 클래스의 보호된 메소드를 하위 클래스에서 비공개로 설정할 수 없습니다.

이 오류를 해결하려면 하위 클래스 메소드가 이러한 호환성 지침을 충족하는지 확인하세요. PHP 메소드 선언 호환성에 대한 자세한 내용은 공식 문서를 참조하세요.

위 내용은 내 PHP 하위 클래스에서 'childClass::customMethod() 선언은 parentClass::customMethod() 선언과 호환되어야 합니다' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.