ホームページ >バックエンド開発 >PHPチュートリアル >オプションのパラメータの後に必須パラメータがあると、PHP 非推奨の警告が表示されるのはなぜですか?

オプションのパラメータの後に必須パラメータがあると、PHP 非推奨の警告が表示されるのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-05 19:17:15720ブラウズ

Why Do Required Parameters After Optional Parameters Cause PHP Deprecation Warnings?

PHP 非推奨に関する通知: オプションのパラメーターに続く必須パラメーター

PHP 8.0 以降、次の宣言パターンを持つ関数を使用すると、非推奨の警告が表示されることがあります:

function test_function(int $var1 = 2, int $var2) {
    // ...
}

このエラー メッセージは、必須パラメータ (この例では $var2) がオプションのパラメータの後に続く場合にトリガーされます($var1).

なぜ非推奨になったのですか?

これまで、この構文には欠陥があり、関数呼び出しではすべてのパラメーター (最後に必要なパラメーターまで) を指定する必要がありました。それらにはデフォルト値がありました。さらに、これは関数分析のための ReflectionFunctionAbstract クラスの使用を妨げていました。

推奨される解決策

非推奨の警告を排除するには、関数宣言を調整して以前のパラメーターのデフォルト値を削除します。これらのパラメータは常に必須であるため、その機能は影響を受けません。

function test_function(int $var1, int $var2) {
    // ...
}

以上がオプションのパラメータの後に必須パラメータがあると、PHP 非推奨の警告が表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。