匿名函数/闭包的参数列表

时间:2016-09-07 06:55:49

标签: php

我们假设我有一个匿名函数:

$my_function = function($par1, $par2) {
    // Do something
};

有没有办法在没有以任何方式执行函数的情况下获取参数列表?像这样:

$parameter_list = get_func_params($my_function);

结果应包含所有必需函数参数的列表:

Array (
    [0] => par1
    [1] => par2
)

get_func_params可以包含什么代码来返回这样的数组?

背景是我使用通用代码来检查提供的闭包是否实现了所需的参数逻辑。

我不想使用类或接口来解决这个问题。

1 个答案:

答案 0 :(得分:2)

请试试这个:

$my_function = function($par1, $par2) {
    // Do something
};

$reflection = new ReflectionFunction($my_function);
var_dump($reflection->getParameters());