ReturnTypeWillChange アトリビュートはじめに
ほとんどの final でない内部メソッドは、
それをオーバライドする際、
互換性がある戻り値の型を宣言することが必須になっています。
そうしない場合、継承が有効かを検証する際に、
推奨されない警告が発生します。
これは、暫定的な戻り値の型のフェーズを導入するものです。
つまり、戻り値の型に互換性がない場合、将来のバージョンでそれが強制されるまでは、
エンジンは致命的なエラーではなく、推奨されない警告を発生させます。
PHP のバージョン間の互換性を保ちたいがために、
戻り値の型を宣言できない場合、
アトリビュート 警告
ReturnTypeWillChange アトリビュートが推奨されない警告を抑止するのは、 暫定的な戻り値の型のフェーズの間だけです。 ユーザー定義のクラスで定義されたメソッドをオーバーライドする場合には、何の効果もありません。 内部メソッドが strict な型を採用すると、 オーバーライドするメソッドのシグネチャの不一致は致命的なエラーを引き起こすようになり、 このアトリビュートは何の効果も持たなくなります。 クラス概要
#[\Attribute]
final
ReturnTypeWillChange
/* メソッド */
public __construct()
参考
|