我有一个具有以下标题的函数(一个简单的pdo包装类的一部分):
function select($table_name, $fields = [], $where = [])
当我有 where 子句时会变得很尴尬,但我想使用字段的默认值,就像在这样的调用中一样:
$where = array(
'Username' => $username,
'Password' => $encrypted_password
);
// Select all fields from User with the where clause above
$STMT = $dbpdo->select("User", [], $where);`
这只是一个例子来说明这个问题。在php中使用这种类型的构造最优雅的方法是什么?理想情况下,我想使用如下调用:
$dbpdo->select("User", $where);
或
$dbpdo->select("User", $fields, $where);
答案 0 :(得分:0)
你可以使用func_get_args()
和func_num_args()
以不同的方式处理对你的函数的两参数和三参数调用,但我不建议这样做,因为它会使你的功能可能让其他人感到困惑。
我个人认为$dbpdo->select("User", [], $where);
很好。
您可能还会考虑交换$ where和$ fields参数,如果$ fields更有可能具有默认值/空值。