PHP8は、多くの注目を集めている新しい機能を立ち上げました。このようにして、開発者は、位置の順序に依存することなく、関数を呼び出すときに各パラメーターの名前を明示的に指定できます。この変更により、コードの読みやすさと保守性が大幅に向上します。
指定されたパラメーターにより、順番ではなく、呼び出されたときにパラメーター名によって値を直接渡すことができます。この執筆方法は、PythonやJavaScriptなどの他の多くの言語で使用されています。 PHP8で正式に導入された後、関数呼び出しがより直感的で明確になりました。
基本的な例を見てみましょう。
function demo_function($arg1, $arg2, $arg3) {
// 関数本体
}
// 従来の呼び出し方法
demo_function('Value1', 'Value2', 'Value3');
// 名前付きパラメーターを使用します
demo_function(arg1: 'Value1', arg2: 'Value2', arg3: 'Value3');
名前付きパラメーターはパラメーターの位置に依存しないため、関数を読み取るときに各パラメーターの意味を理解しやすくなります。
名前付きパラメーターでは、デフォルトのパラメーターをスキップし、変更する必要がある値の一部のみを渡すこともできます。
function demo_function($arg1, $arg2 = 'default2', $arg3 = 'default3') {
// 関数本体
}
// 変更のみを変更します $arg1 そして $arg3
demo_function(arg1: 'Custom1', arg3: 'Custom3');
この書き込みは、複数のオプションパラメーターを備えた関数に特に役立ちます。
多くの関数パラメーターがある場合、命名パラメーターはコードの読みやすさを大幅に改善できます。例えば:
function get_formatted_date($year, $month, $day, $hour = 0, $minute = 0, $second = 0) {
// 関数本体
}
// 通常の呼び出し
$data = get_formatted_date(2020, 1, 20, 11, 30, 20);
// 名前付きパラメーターコール
$data = get_formatted_date(year: 2020, month: 1, day: 20, hour: 11, minute: 30, second: 20);
この方法により、将来的には通話意図がより明確かつ維持されやすくなります。
指定されたパラメーターを使用することの利点は次のとおりです。
function get_formatted_date($year, $month, $day, $hour = 0, $minute = 0, $second = 0, $timezone = 'UTC') {
// 関数本体
}
// 新しいパラメーターを追加した後,それでも正常に呼ばれることができます
$data = get_formatted_date(year: 2020, month: 1, day: 20, hour: 11, minute: 30, second: 20, timezone: 'America/New_York');
名前付きパラメーターは、関数インターフェイスの拡張をより安全で自然にします。
名前付きパラメーターは、PHP8によってもたらされる重要なアップグレードの1つであり、コードの書き込みをより表現力豊かにするだけでなく、パラメーターエラーによって引き起こされる問題を大幅に削減します。新しいプロジェクトの構築であろうと、既存のシステムを維持するかどうかにかかわらず、指定された引数の導入は、コード品質に大幅な改善をもたらします。既にPHP8を使用している場合は、この新しい機能を試して、関数呼び出し方式を最適化することもできます。