ReflectionParameter::__construct

(PHP 5, PHP 7, PHP 8)

ReflectionParameter::__constructコンストラクタ

説明

publicReflectionParameter::__construct(string|array|object$function, int|string$param)

ReflectionParameter クラスのインスタンスを構築します。

パラメータ

function

パラメータを調べたい関数。

param

パラメータの位置を指定する int (0から始まります)、 もしくはパラメータの名前を string で指定します。

例1 ReflectionParameter クラスの使用

<?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
$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 }

参考

To Top