我喜欢使用 key=>value 对(数组)作为参数而不是单个参数来创建我的 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 代码库中广泛使用这种方法。
我更喜欢数组的原因:
- 可以按任何顺序提供函数参数
- 更容易阅读代码/更多的自我记录(在我看来)
- 不太容易出错,因为在调用函数时我必须调查正确的数组键
我正在与一位同事讨论这个问题,他说它没有用,只会导致额外的代码,而且设置默认值要困难得多。基本上,他在所有三点上都完全不同意我的观点。
我正在寻找可能能够提供见解的专家的一些一般性建议和指导:有什么更好或更合适的方法来做到这一点?