ReflectionParameter::__construct

(PHP 5, PHP 7, PHP 8)

ReflectionParameter::__constructコンストラクタ

説明

public ReflectionParameter::__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
}

参考

関連キーワード:  ReflectionParameter, Parameter, パラメータ, construct, string, function, optional, reference, Passed, Allows