個々のパラメーターではなく、キー=>値のペア (配列) を引数として使用して PHP 関数を作成するのが好きです。
たとえば、私は好きです:
function useless_func($params) {
if (!isset($params['text'])) { $params['text'] = "default text"; }
if (!isset($params['text2'])) { $params['text2'] = "default text2"; }
if (!isset($params['text3'])) { $params['text3'] = "default text3"; }
echo $params['text'].$params['text2'].$params['text3'];
return;
}
そして、私は好きではありません:
function useless_func($text = "default text", $text2 = "default text2", $text3 = "default text3") {
echo $text.$text2.$text3;
return;
}
私は、Wordpress のコードベースでこの方法が広範に行われているのを初めて見ました。
私が配列を好む理由:
- 関数の引数は任意の順序で指定できます
- コードが読みやすくなり、自己文書化が容易になる (私の意見では)
- 関数を呼び出すときに適切な配列キーを調査する必要があるため、エラーが発生しにくい
私はこれについて同僚と話し合っていましたが、彼はそれは役に立たず、余分なコードにつながるだけであり、デフォルト値を設定するのははるかに難しいと言っています. 基本的に、彼は 3 つの点すべてで私に完全に同意しません。
洞察を提供できる可能性のある専門家からの一般的なアドバイスとガイダンスを探しています。これを行うためのより良い、またはより適切な方法は何ですか?