PHP エラー: "必須パラメーター $xxx はオプションのパラメーター $yyy に続きます"
PHP 8.0 にアップグレードすると、開発者は非推奨エラーが発生する可能性があります必須パラメーターがオプションのパラメーターの後に続くことを示します。このエラーは、必要な関数パラメータのデフォルト値が誤って使用されているために発生します。
問題の説明:
以前、PHP バージョン 8.0 より前では、関数は必須パラメータにデフォルト値を割り当てることで、必須パラメータとオプションのパラメータを組み合わせます。ただし、この方法には固有の欠陥があるため、非推奨になりました。
たとえば、次の PHP コードを考えてみましょう。
function test_function(int $var1 = 2, int $var2) { return $var1 / $var2; }
このコードでは、$var1 はデフォルトの必須パラメータです。値は 2 です。$var2 も必須パラメータであり、デフォルト値はありません。このコードは、以前の PHP バージョンでは正しく動作しますが、PHP 8.0 では非推奨エラーが発生します。
新しい要件:
PHP 8.0 以降では、次のことが必須になりました。必須パラメータはオプションパラメータの前に宣言してください。この変更により、関数を呼び出すときに必要なパラメーターがすべて提供されるようになり、混乱やエラーの潜在的な原因が排除されます。
解決策:
エラーを解決するには、単に以前の必須パラメータのデフォルト値。コードは次のように書き直す必要があります:
function test_function(int $var1, int $var2) { return $var1 / $var2; }
この変更を行うことで、関数は新しい PHP 要件に準拠し、非推奨エラーがトリガーされなくなります。
以上がPHP 8.0 が「必須パラメータ $xxx はオプション パラメータ $yyy に続きます」をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。