PHP 7.0 以降、関数とメソッドの戻り値の型が利用可能になりました。これにより、他のコードが依存できるコントラクトが形成されます。
例:
<code class="php">class Base { public function getList(): Iterator { // ... } } // Calling code: $foo = new Base(); var_dump($foo instanceOf Base); // true var_dump($foo->getList() instanceOf Iterator); // true</code>
クラスを拡張する場合、より具体的な戻り値の型を定義できます (共分散)。ただし、別の戻り値の型を指定したり、戻り値の型を指定したりすることはできません。
既存のクラスまたはインターフェイスに戻り値の型を追加するには、クラスの拡張または実装の変更が必要です。 PHP 8.0 での Union Type の導入により、戻り値の型は文書化されましたが、エラーとして強制されませんでした。代わりに、非推奨の通知が追加されました。
複数の PHP バージョンと 8.0 より前の戻り値の型をサポートする必要がある競合するコードにより、#[ReturnTypeWillChange] 属性が開発されました。 ] 属性。メソッドに追加すると、PHP 8.1 での非推奨の通知が抑制されます。これにより、内部戻り値の型が強制される可能性がある PHP 9.0 より前に問題を修正する時間ができます。
アクションの方針を決定します。
戻り値の型を変更しても安全かどうか:
古い PHP バージョンまたは更新されていないコードをサポートする必要がある場合:
以上がPHP で戻り値の型の非推奨通知を処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。