让我们说我们有这个功能:
function greetMe (string $name) {
echo '<br/>'.$name;
echo '<br/>'.gettype($name);
}
如您所见,我们可以获取参数$name
的类型。
现在,我想知道此函数的内部是否有可能知道我声明了类型string
而不是其他类型。有提示吗?
答案 0 :(得分:2)
在PHP 7和更高版本中,您可以使用ReflectionParameter.getType
。
示例1的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; var_dump($reflectionType2);
上面的示例将输出类似于:
int null