获取函数的参数名称
2022-08-30 11:27:46
在 PHP 中考虑以下函数:
function test($name, $age) {}
我需要以某种方式提取参数名称(用于自动生成自定义文档),以便我可以执行如下操作:
get_func_argNames('test');
它会返回:
Array['name','age']
这在PHP中甚至可能吗?
在 PHP 中考虑以下函数:
function test($name, $age) {}
我需要以某种方式提取参数名称(用于自动生成自定义文档),以便我可以执行如下操作:
get_func_argNames('test');
它会返回:
Array['name','age']
这在PHP中甚至可能吗?
您可以使用反射 :
function get_func_argNames($funcName) {
$f = new ReflectionFunction($funcName);
$result = array();
foreach ($f->getParameters() as $param) {
$result[] = $param->name;
}
return $result;
}
print_r(get_func_argNames('get_func_argNames'));
//output
Array
(
[0] => funcName
)
现在是2019年,没有人这么说?
只需使用 :get_defined_vars()
class Foo {
public function bar($a, $b) {
var_dump(get_defined_vars());
}
}
(new Foo)->bar('first', 'second');
结果:
array(2) {
["a"]=>
string(5) "first"
["b"]=>
string(6) "second"
}