名前付きの関数パラメーターを持つことは可能ですphpか? python使用例は次のとおりです。
function foo($username = "", $password = "", $timeout = 10) {
}
オーバーライドしたい$timeout:
foo("", "", 3);
醜い。私はむしろやりたい:
foo(timeout=3);
名前付きの関数パラメーターを持つことは可能ですphpか? python使用例は次のとおりです。
function foo($username = "", $password = "", $timeout = 10) {
}
オーバーライドしたい$timeout:
foo("", "", 3);
醜い。私はむしろやりたい:
foo(timeout=3);
PHP 8.0 では、RFCの承認により、名前付き引数のサポートが追加されました。
名前付き引数は、値の前にパラメーター名とそれに続くコロンを付けることによって渡されます。パラメータ名として予約キーワードを使用できます。パラメータ名は識別子である必要があり、動的に指定することはできません。
たとえば、例で3番目のオプションパラメータのみを渡すには:
foo(timeout: 3);
PHP 8 より前の名前付きパラメーターは、PHP では使用できませんでした。技術的には、呼び出すfoo($timeout=3) と最初に評価さ$timeout=3れ、その結果が3最初のパラメーターとして に渡されますfoo()。また、PHP はパラメーターの順序を強制するため、同等の呼び出しはfoo("", "", $timeout=3). 他に 2 つのオプションがあります。
func_get_args()を使用します。パラメータの数に基づいて、それぞれの処理方法を決定できます。多くの JQuery 関数は、このようなことを行います。これは簡単ですが、自己文書化されていないため、関数を呼び出す人を混乱させる可能性があります。そして、あなたの議論はまだ名前が付けられていません。...