我一直想知道如何以简洁明了的方式在任何函数中有效地检查所有参数。我想出了:
function fooBar($myArg, $mySecondArg, $myOptionnalArg = "defaultValue"){
if(!isset($myArg, $mySecondArg, $myOptionnalArg){
die(__FUNCTION__ . ":missing parameter");
}
if(empty($myArg, $mySecondArg, $myOptionnalArg){
die(__FUNCTION__ . ":empty parameter");
}
//Do stuff
}
我正在寻找的更像是:
function fooBar($myArg, $mySecondArg, $myOptionnalArg = "defaultValue"){
$argArray = func_get_args();
foreach($argArray as $a){
if(empty($a)){
die(__FUNCTION__.":".get_arg_name($a)."is empty");
}
if(!isset($a)){
die(__FUNCTION__.":".get_arg_name($a)."is unset");
}
}
//Do stuff
}
Wich 不起作用,因为get_arg_name();
它是纯虚构func_get_args();
的,它返回实际参数,而不是原型中定义的参数。
有人可以给我一个提示吗?任何其他好的/干净的方式来实现这一点也是受欢迎的。谢谢