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

    (PHP 5 >= 5.3.0, PHP 7)

    获取必须输入参数个数

    说明

    publicReflectionFunctionAbstract::getNumberOfRequiredParameters(void) : int

    获取函数定义中,必须输入的参数个数

    Warning

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

    参数

    此函数没有参数。

    返回值

    必须输入的参数个数

    参见

    • ReflectionFunctionAbstract::getNumberOfParameters() 获取参数数目
    It's interesting to note that this function will treat optional parameters that come before a required parameter as required too. This is good since it allows you to verify that the function will be receiving enough parameters for the it to work, regardless where they are located.
    <?php
    class MyTest() {
      public function test($a = null, $b) {}
      public function test2($a = null, $b, $c = null) {}
    }
    //Create the reflection
    $r = new \ReflectionMethod('MyTest', 'test');
    $r2 = new \ReflectionMethod('MyTest', 'test2');
    //Verify the numbers
    echo 'Test: ' . $r->getNumberOfRequiredParameters()); //Output: 2
    echo 'Test2: ' . $r->getNumberOfRequiredParameters()); //Output: 2
    ?>
    
    <?php
    namespace ExampleWorld;
    // The Class
    class helloWorld {
      /* Method with two required arguments */
      public function requiredTwoArguments ( $var1, $var2 ) {
        // Some code ...
      }
      /* Method with two arguments, but just one is required */
      public function requiredOneArgument ( $var1, $var2 = false ) {
        // Some code ...
      }
    }
    $r = new \ReflectionMethod ( 'ExampleWorld\helloWorld', 'requiredTwoArguments' );
    echo $r->getNumberOfRequiredParameters ();
    $r = new \ReflectionMethod ( 'ExampleWorld\helloWorld', 'requiredOneArgument' );
    echo $r->getNumberOfRequiredParameters ();
    // Output: 2 1