ホームページ >バックエンド開発 >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 メソッド宣言の互換性エラー

エラー メッセージ「厳密な標準: childClass::customMethod() の宣言は、childClass::customMethod() の宣言と互換性がある必要があります。」 「parentClass::customMethod()」は、子クラスで宣言されたメソッドが親の対応するメソッドと互換性がない場合に PHP で発生します。 class.

このエラーの原因を特定するには、2 つのメソッド間の「互換性」の構成要素を理解することが重要です:

  • 引数の数と型: 子クラスのメソッドは、親クラスのメソッドと同じ数と型の引数を持つ必要があります。たとえば、親クラス メソッドが 2 つの整数引数を取る場合、子クラス メソッドは 1 つの整数と 1 つの文字列引数を取ることはできません。
  • 戻り値の型: 子クラス メソッドの戻り値の型は、次のとおりである必要があります。親クラス メソッドの戻り値の型と同じか、そのサブタイプのいずれかになります。たとえば、親クラスのメソッドがブール値を返す場合、子クラスのメソッドもブール値を返すことができますが、整数を返すことはできません。
  • Access Level: 子のアクセス レベルクラス メソッドは、親クラス メソッドのアクセス レベルと同じか、それ以下の制限を持たなければなりません。つまり、親クラスの保護されたメソッドを子クラスでプライベートにすることはできません。

このエラーを解決するには、子クラスのメソッドがこれらの互換性ガイドラインを満たしていることを確認してください。 PHP メソッド宣言の互換性に関する詳細については、公式ドキュメントを参照してください。

以上がPHP 子クラスが「childClass::customMethod() の宣言はparentClass::customMethod() の宣言と互換性がある必要があります」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。