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

    (PHP 5, PHP 7)

    Construct

    说明

    publicReflectionParameter::__construct(callable $function, mixed $parameter)

    Constructs aReflectionParameterinstance.

    参数

    $function

    The function to reflect parameters from.

    $parameter

    Either anintegerspecifying the position of the parameter (starting with zero), or a the parameter name asstring.

    返回值

    没有返回值。

    范例

    Using theReflectionParameterclass

    <?php
    function foo($a, $b, $c) { }
    function bar(Exception $a, &$b, $c) { }
    function baz(ReflectionFunction $a, $b = 1, $c = null) { }
    function abc() { }
    $reflect = new ReflectionFunction('foo');
    echo $reflect;
    foreach ($reflect->getParameters() as $i => $param) {
        printf(
            "-- Parameter #%d: %s {\n".
            "   Class: %s\n".
            "   Allows NULL: %s\n".
            "   Passed to by reference: %s\n".
            "   Is optional?: %s\n".
            "}\n",
            $i, // $param->getPosition() can be used from PHP 5.2.3
            $param->getName(),
            var_export($param->getClass(), 1),
            var_export($param->allowsNull(), 1),
            var_export($param->isPassedByReference(), 1),
            $param->isOptional() ? 'yes' : 'no'
        );
    }
    ?>
    

    以上例程的输出类似于:

    Function [ <user> function foo ] {
      @@ /Users/philip/cvs/phpdoc/a 2 - 2
      - Parameters [3] {
        Parameter #0 [ <required> $a ]
        Parameter #1 [ <required> $b ]
        Parameter #2 [ <required> $c ]
      }
    }
    -- Parameter #0: a {
       Class: NULL
       Allows NULL: true
       Passed to by reference: false
       Is optional?: no
    }
    -- Parameter #1: b {
       Class: NULL
       Allows NULL: true
       Passed to by reference: false
       Is optional?: no
    }
    -- Parameter #2: c {
       Class: NULL
       Allows NULL: true
       Passed to by reference: false
       Is optional?: no
    }
    

    参见

    • ReflectionFunctionAbstract::getParameters() 获取参数
    • ReflectionFunction::__construct() Constructs a ReflectionFunction object
    • ReflectionMethod::__construct() ReflectionMethod 的构造函数
    • Constructors
    You also can use a class instead of a function name. Just use an array like that
    <?php
    $reflect = new ReflectionParameter(array('className', 'methodName'), 'property');
    ?>