ReflectionParameter::__construct()
(PHP 5, PHP 7)
Construct
说明
public ReflectionParameter::__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');
?>
