有没有办法在PHP中实现这个目标?
echo list_args('a_user_defined_function_name_here_such_as_say_hello');
并输出类似
的内容$first_name
$last_name
用于定义为;
的函数function say_hello($first_name, $last_name){
echo "Hello $first_name $last_name";
}
所以基本上,我正在寻找的是一个函数解释器或类似的东西......&如果那件事可以进入基于php doc的评论提取器。那会更好..
答案 0 :(得分:3)
您可以使用ReflectionFunction
类来执行此操作:
function list_args($name) {
$list = "";
$ref = new ReflectionFunction($name);
foreach ($ref->getParameters() as $param) {
$list .= '$' . $param->getName() . "\n";
}
return $list;
}
答案 1 :(得分:1)
您可以尝试ReflectionFunction
。
function list_args($function) {
$func = new ReflectionFunction($function);
$res = array();
foreach ($func->getParameters() as $argument) {
$res[] = '$' . $argument->name;
}
return $res;
}
print_r(list_args('say_hello')); // outputs Array ( [0] => $first_name [1] => $last_name )