私は最近、多くの Objective-C プログラミングを行っていますが、PHP に戻ってきたので、正直に言うと、名前付きパラメーターが恋しいです (最初は嫌いでしたが、今では大好きです。 )。
とにかく、PHP では、パラメーターに名前を付ける擬似的な方法として関数に配列を渡す人を時々見かけますが (順序を気にする必要がないという利点もあります)、それによって関数の記述が非常に複雑になることがあります。また、名前付きパラメーターを使用して関数を呼び出したい場合もありますが、そうしない方が簡単で高速な場合もあります。
誰もが単にこのようなことをしますか:
function calculateArea( $width, $height ) {
// do calculations here...
}
// and then call the function like so:
calculateArea( $width = 10, $height = 5 );
少なくとも私のバージョンの PHP では問題なく動作するようです。他の人がこの手法を名前付きパラメーターの回避策として使用するかどうか疑問に思っています。また、これを行うべきではない説得力のある理由を誰かが知っているかどうかも疑問に思っています。
ありがとう!
アップデート:
すべての迅速な対応に感謝します。より明確にするために、連想配列を渡すことがほとんどのシナリオでより良いオプションであることを理解しているとだけ言っておきますが、既に作成した関数を使用していて、関数の方法を変更したくない場合がありますコードのあらゆる部分で呼び出されます。また、二次的なフレームワークを使用していて、関数の記述方法を制御できない場合もあります。
1 年前に書いたコードを見ていると、 が表示されますecho $zc->expand('Foo', 'Bar', 10, 1, 0, null, null, array('class'=>'code'), false);
が、それはあまり役に立ちません。
したがって、私の質問を言い換えると、私は基本的にこれを尋ねてい
ます。代入を介して引数を関数に渡す方が読みやすい場合があります。これを行うことの欠点は何ですか? また、PHP のすべてのバージョンで機能しますか?