php - 获取类函数的参数数量

标签 php function

有没有办法检测类中函数的参数数量?

我想做的是以下内容。

$class = 'foo';
$path = 'path/to/file';
if ( ! file_exists($path)) {
  die();
}

require($path);

if ( ! class_exists($class)) {
  die();
}

$c = new class;

if (num_function_args($class, $function) == count($url_segments)) {
  $c->$function($one, $two, $three);
}

这可能吗?

最佳答案

要获取函数或方法签名中的参数数量,您可以使用

示例

$rf = new ReflectionMethod('DateTime', 'diff');
echo $rf->getNumberOfParameters();         // 2
echo $rf->getNumberOfRequiredParameters(); // 1

要在运行时获取传递给函数的参数数量,您可以使用

示例

function fn() {
    return func_num_args();
}
echo fn(1,2,3,4,5,6,7); // 7

关于php - 获取类函数的参数数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3989190/

相关文章:

php - 将我的 Azure 应用服务更改为 PHP 8.1,nginx 不断返回 404

php - 关于 PHP/XHTML 输出格式的问题

php - 如何知道我的用户是否遇到 500 错误?

javascript - 成功后如何使用ajax在td中显示值和图像

c++ - 我可以在父构造函数中多次重用函数的返回值吗?

使用 C 语言中的 switch 和函数的计算器

PHP 析因问题

c 函数调用

python - @lru_cache 装饰器过多的缓存未命中

php - 带有 Auth 的 Laravel 处理程序错误上下文中的错误