ReflectionFunctionAbstract::getNumberOfParameters

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::getNumberOfParameters获取参数数量

描述

public ReflectionFunctionAbstract::getNumberOfParameters(): int

获取函数定义的参数数量,包括可选参数和必需参数。

参数

此函数没有参数。

返回值

参数数量。

参见

添加备注

用户贡献的备注 2 个备注

Robert Pitt ( LitePHP )
14 年前
在开发新的 MVC 应用程序框架时,我使用此方法检查调用子方法之前需要多少个参数!

示例

<?php
$this
->method_args_count = $this->CReflection
->getMethod($Route->getMethod())
->
getNumberOfParameters();
//可能为 5,但如果 uri 是 /controller/method/single_param/,我们只有 1 个
$this->params = $Route->getParams(); //在某些情况下为 0

if($this->method_args_count > count($this->params))
{
$this->difference = ($this->method_args_count - count($this->params));
for(
$i=0;$i<=$this->difference;$i++)
{
$this->params[] = false;
}
}

//使用正确的参数数量调用方法
//但对于未传递的参数,将其作为 false!
call_user_func_array(array(new $this->obj,$Route->getMethod()),$this->params);
?>
8ctopus
3 年前
$reflection = new ReflectionFunction('implode');
echo $reflection->getNumberOfParameters();
To Top