メソッド互換性エラーについて
PHP でクラス継承を使用する場合、次のエラー メッセージが表示される場合があります:
Strict Standards: Declaration of childClass::customMethod() should be compatible with that of parentClass::customMethod()
ログイン後にコピー
このエラーは、子クラスのメソッドの宣言が親クラスのメソッドの宣言と互換性がないことを示します。
メソッド互換性エラーの原因
子クラスと親クラスのメソッド間の互換性は、次の要素によって決まります。
-
メソッド シグネチャ: メソッド名とその引数を含むメソッドのシグネチャは、次の要素によって決まります。子クラスと親クラスの間で一貫性があります。
-
アクセス レベル: メソッドのアクセス レベル (パブリック、プロテクト、またはプライベート) は、親と比較して子クラスで同等以上である必要があります。 class.
-
メソッド修飾子: メソッドに適用される修飾子 (static、final など) は、子クラスと親クラスの間で一貫している必要があります。
メソッド互換性エラーの解決
これらのエラーを解決するには、子クラスのメソッドが次の互換性基準と一致していることを確認してください:
-
引数: メソッドの引数の数、型、順序が親クラスのメソッドと同じかどうかを確認します。
-
アクセス レベル: 子クラスのメソッドの引数が同じかそれ以上であることを確認します。親クラスのメソッドよりもアクセス レベルが高くなります (たとえば、親のメソッドが public の場合、子のメソッドは public または protected である必要があります)。
-
メソッド修飾子: 子クラスのメソッドに親クラスのメソッドと同じ修飾子。
詳細情報
PHP でのメソッドの互換性とメソッドのオーバーライドの詳細については、次のリソースを参照してください。
- [PHP メソッドのオーバーライド](https://www.php.net/manual/en/ language.oop5.overriding.php)
- [PHP の厳格な標準](https: //www.php.net/manual/en/function.error-reporting.php#errorcodes)
以上がPHP 継承におけるメソッド互換性エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。