Deprecated: Required parameter $xxx follows optional parameter $yyy in...
PHP 8.0にアップグレードしてから、次のようなコードを実行すると、このエラーがスローされます。
function test_function(int $yyy = 2, int $xxx) {
return $yyy * $xxx;
}
これは、PHPの過去のバージョンで問題なく機能しました。
このスタイルの関数宣言は、PHP8.0で非推奨になりました。関数が呼び出されたときにすべてのパラメーター(最後に必要なパラメーターまで)を指定する必要があるため、このような関数を作成しても意味がありません。新しい非推奨は、関数のシグネチャが、必須のパラメータが常にオプションのパラメータの前に宣言されるべきであるという常識的な仮定に従うことを保証するだけです。
以前のパラメーターのデフォルト値を削除するように関数を書き直す必要があります。すべてのパラメーターを宣言せずに関数を呼び出すことはできないため、これはその機能に影響を与えないはずです。
function test_function(int $yyy, int $xxx) {
return $yyy * $xxx;
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加