Heim >Backend-Entwicklung >PHP-Tutorial >Warum gibt meine untergeordnete PHP-Klasse den Fehler „Deklaration von childClass::customMethod() sollte mit der von parentClass::customMethod() kompatibel sein' aus?

Warum gibt meine untergeordnete PHP-Klasse den Fehler „Deklaration von childClass::customMethod() sollte mit der von parentClass::customMethod() kompatibel sein' aus?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-13 20:02:15450Durchsuche

Why Does My PHP Child Class Throw a

Kompatibilitätsfehler bei der PHP-Methodendeklaration

Die Fehlermeldung „Strenge Standards: Deklaration von childClass::customMethod() sollte mit der von kompatibel sein parentClass::customMethod()“ tritt in PHP auf, wenn eine in einer untergeordneten Klasse deklarierte Methode nicht mit der entsprechenden Methode in der übergeordneten Klasse kompatibel ist Klasse.

Um die Ursache dieses Fehlers zu ermitteln, ist es wichtig zu verstehen, was „Kompatibilität“ zwischen zwei Methoden ausmacht:

  • Anzahl und Art der Argumente: Die Methode der untergeordneten Klasse muss die gleiche Anzahl und Art von Argumenten haben wie die Methode der übergeordneten Klasse. Wenn die übergeordnete Klassenmethode beispielsweise zwei ganzzahlige Argumente akzeptiert, kann die untergeordnete Klassenmethode kein ganzzahliges und ein Zeichenfolgenargument annehmen.
  • Rückgabetyp: Der Rückgabetyp der untergeordneten Klassenmethode muss sein entweder mit dem Rückgabetyp der übergeordneten Klassenmethode identisch sein oder ein Untertyp davon sein. Wenn beispielsweise die Methode der übergeordneten Klasse einen booleschen Wert zurückgibt, kann die Methode der untergeordneten Klasse auch einen booleschen Wert zurückgeben, jedoch keine Ganzzahl.
  • Zugriffsebene: Die Zugriffsebene des untergeordneten Elements Die Methode der Klasse muss gleich oder weniger restriktiv sein als die Zugriffsebene der Methode der übergeordneten Klasse. Mit anderen Worten: Eine geschützte Methode in der übergeordneten Klasse kann in der untergeordneten Klasse nicht privat gemacht werden.

Um diesen Fehler zu beheben, stellen Sie sicher, dass die Methode der untergeordneten Klasse diese Kompatibilitätsrichtlinien erfüllt. Ausführlichere Informationen zur Kompatibilität der PHP-Methodendeklaration finden Sie in der offiziellen Dokumentation.

Das obige ist der detaillierte Inhalt vonWarum gibt meine untergeordnete PHP-Klasse den Fehler „Deklaration von childClass::customMethod() sollte mit der von parentClass::customMethod() kompatibel sein' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn