PHP 8.0 関数パラメーター構文の変更: 必須パラメーターはオプションのパラメーターより前に置く必要があります
PHP 8.0 では、必須関数パラメーターが構文の後に続く場合に非推奨の警告が導入されています。オプションのパラメータ。このエラーは、古いバージョンの PHP ではこの動作が許可されていたために発生しますが、最後に必要なパラメータまですべてのパラメータを指定する必要があるため、意味がありませんでした。
例:
次の関数について考えてみましょう:
function test_function(int $var1 = 2, int $var2) { return $var1 / $var2; }
PHP 8.0 では、この関数は次の非推奨をスローします。警告:
Deprecated: Required parameter $var2 follows optional parameter $var1 in...
非推奨の理由:
この変更により、関数シグネチャは、必須パラメータはオプションのパラメータの前に宣言する必要があるという常識的な前提に従うようになります。これにより、関数の動作が明確になり、ReflectionFunctionAbstract クラスを使用した分析が簡素化されます。
解決策:
この問題を解決するには、以前のパラメーターからデフォルト値を削除するだけです。上記の例では、関数は次のように書き換えられます:
function test_function(int $var1, int $var2) { return $var1 / $var2; }
すべてのパラメーターを宣言せずに関数を呼び出すことはできないため、この変更は関数の機能には影響しません。
以上がPHP 8.0 関数の必須パラメータをオプションのパラメータの前に置く必要があるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。