(PHP 7)
ReflectionParameter::getType — 引数の型を取得する
この関数にはパラメータはありません。
引数の型が指定されていれば ReflectionType オブジェクトを返します。
そうでなければ null
を返します。
例1 PHP 7.1.0 以降での ReflectionParameter::getType() の使い方
PHP 7.1.0 以降では、 ReflectionType::__toString() が推奨されなくなったので、 ReflectionParameter::getType() は ReflectionNamedType を返す 可能性があります。 この場合、引数の方の名前を取得するために、ReflectionNamedType() が利用可能です。
<?php
function someFunction(int $param, $param2) {}
$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams = $reflectionFunc->getParameters();
$reflectionType1 = $reflectionParams[0]->getType();
$reflectionType2 = $reflectionParams[1]->getType();
assert($reflectionType1 instanceof ReflectionNamedType);
echo $reflectionType1->getName(), PHP_EOL;
var_dump($reflectionType2);
?>
上の例の出力は以下となります。
int NULL
例2 PHP 7.1.0 より前の ReflectionParameter::getType() の使い方
<?php
function someFunction(int $param, $param2) {}
$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams = $reflectionFunc->getParameters();
$reflectionType1 = $reflectionParams[0]->getType();
$reflectionType2 = $reflectionParams[1]->getType();
echo $reflectionType1, PHP_EOL;
var_dump($reflectionType2);
?>
上の例の PHP 7.0 での出力は、このようになります。
int NULL