Kompatibilität in PHP-Methodendeklarationen
In PHP sollte der Fehler „Strict Standards: Declaration of childClass::customMethod() kompatibel sein mit die von parentClass::customMethod()“ weist auf eine Diskrepanz zwischen der Deklaration einer Methode in einer untergeordneten Klasse und ihrer übergeordneten Klasse hin Methode.
Mögliche Ursachen:
Der Fehler tritt auf, wenn die untergeordnete Methode Folgendes hat:
-
Unterschiedliche Argumente: Die Anzahl, Reihenfolge oder Datentypen der Argumente der Methode sollten mit denen des übergeordneten Elements übereinstimmen Methode.
-
Unterschiedliche Zugriffsebene: Die Zugriffsebene (öffentlich, privat oder geschützt) der untergeordneten Methode muss mit der der übergeordneten Methode identisch oder weniger restriktiv sein.
Kompatibilitätsinformationen finden:
PHP verwendet die folgenden Regeln, um die Methode zu definieren Kompatibilität:
-
Argumente: Argumentdeklarationen müssen sowohl in der Anzahl als auch im Typ übereinstimmen.
-
Zugriffsebene: Der Zugriff auf untergeordnete Methoden kann mehr sein restriktiv (z. B. öffentlich zu privat), aber nicht weniger restriktiv (z. B. privat zu öffentlich).
-
Rückgabetypen:Der Rückgabetyp der untergeordneten Methode kann kovariant sein, was bedeutet, dass er eine Unterklasse des übergeordneten Rückgabetyps zurückgeben kann.
Zusätzliche Dokumentation und Beispiele zur Methodenkompatibilität finden Sie auf den folgenden PHP-Handbuchseiten:
- [Überladen und Vererbung](https://www.php.net/manual/en/sprache.oop5.overloading.php)
- [Methodensichtbarkeit](https://www.php.net/manual/en/ language.oop5.visibility.php)
- [Kovarianz und Kontravarianz](https://www.php.net/manual/en/sprache.oop5.variance.php)
Das obige ist der detaillierte Inhalt vonWarum gibt PHP „Strenge Standards: 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!