• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ReflectionFunctionAbstract::getNumberOfParameters()

    (PHP 5 >= 5.3.0, PHP 7)

    获取参数数目

    说明

    publicReflectionFunctionAbstract::getNumberOfParameters(void) : int

    获取函数定义的参数数目,包括可选参数

    Warning

    本函数还未编写文档,仅有参数列表。

    参数

    此函数没有参数。

    返回值

    参数的个数

    参见

    • ReflectionFunctionAbstract::getNumberOfRequiredParameters() 获取必须输入参数个数
    • func_num_args()Returns the number of arguments passed to the function
    Working on a new MVC Application Framework i use this method to check how many arguments are required before calling the sub method!
    Example 
    <?php
        $this->method_args_count = $this->CReflection
          ->getMethod($Route->getMethod())
          ->getNumberOfParameters();
        //Maybe be 5 but if uri is /controller/method/single_param/ we only of 1
        $this->params = $Route->getParams(); //0 in some cases
        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;
          }
        }
        
        //Call the method with correct amount of params
        // but as false for params that have not been passed!
        call_user_func_array(array(new $this->obj,$Route->getMethod()),$this->params);
    ?>