如果函数仅在另一个参数具有特定值时才使用参数值,那么它被认为是一个糟糕的设计吗?
这是一个示例函数:
validate_input($field_name, $validation_rule, $validation_value);
这是使用中的功能:
validate_input("username", "required");
validate_input("username", "min_length", 3);
在第一个用法示例中,省略了第三个参数。第二个参数的值为“required”,这使得第三个参数无关紧要。如果传递了第三个参数,则该函数不会将其考虑在内。
这会使功能设计变坏吗?
答案 0 :(得分:3)
这会使功能设计变坏吗?
我会说不,绝对不是。
如果您记录代码,请将第三个参数标记为可选。
在phpDocumentor中,这是通过给它一个默认值(在你的情况下你需要做的)来实现的。
function validate_input($field_name, $validation_rule, $validation_value = null);
我从未遇到任何反对此事的意见。
答案 1 :(得分:1)
它不会使功能设计变坏;但是你应该在函数定义中为第三个参数设置一个默认值,这样就不一定要用第三个参数来调用函数。
function validate_input($field_name, $validation_rule, $validation_value=null) {
....
}
修改强>
核心PHP中的setlocale()函数可能类似于你想要的