如何动态检查PHP中匿名函数的预期参数数量?
作者:互联网
是否可以获取PHP中匿名函数的预期参数数量?我知道ReflectionMethod,但是这似乎仅在方法在类上定义的情况下有效.就我而言,匿名函数将具有1个或2个参数.我宁愿正确地进行检查,而不是将第一个调用包装在try / catch中,如果第一个调用失败,则使用2个参数再次尝试.
解决方法:
尝试这个:
// returns the arity of the given closure
function arity($lambda) {
$r = new ReflectionObject($lambda);
$m = $r->getMethod('__invoke');
return $m->getNumberOfParameters();
}
几个月前,我在这里更详细地写了这个:http://onehackoranother.com/logfile/2009/05/finding-the-arity-of-a-closure-in-php-53
标签:arguments,reflection,anonymous-function,php 来源: https://codeday.me/bug/20191024/1919062.html