PHPの関数のメソッドパラメーターの形式にジレンマがあります(どの言語でもかまいません)。候補者1の2つの候補は次のとおりです。
function foo($param1,$param2,$param3,....$paramN)
および
候補者2:
function foo ($arr) {
$param1 = $arr['param1'];
$param2 = $arr['param2'];
$param3 = $arr['param1'];
...
...
...
$paramN = $arr['paramN'];
}
多くのパラメータを持つメソッドがいくつかあるため、現時点では候補2に傾いています。しかし、私が候補者2の道を進むと、私のコードが読めなくなり、簡単に保守できなくなるリスクがあることも心配しています。候補者2も非常に魅力的ですが、これはパラメータの順序が無関係になるためです(したがって、メソッドのシグネチャ)が、デバッグがお尻の痛みになるのではないかと心配しています。
では、どちらが推奨される方法ですか?どの候補者を選ぶのか、そしてその理由は?