函数名:ReflectionParameter::__construct()
适用版本:PHP 5 >= 5.1.0, PHP 7
用法:ReflectionParameter::__construct() 方法用于创建一个 ReflectionParameter 对象,用于获取函数或方法的参数信息。
语法:public ReflectionParameter::__construct ( mixed $function , string $parameter )
参数:
- function:要获取参数信息的函数或方法名称。可以是一个函数名称的字符串,或者是一个包含类名和方法名的数组。
- parameter:要获取的参数的名称。
返回值:ReflectionParameter 对象。
示例:
<?php
class MyClass {
public function myMethod($param1, $param2) {
// ...
}
}
$reflectionClass = new ReflectionClass('MyClass');
$reflectionMethod = $reflectionClass->getMethod('myMethod');
$reflectionParameters = $reflectionMethod->getParameters();
foreach ($reflectionParameters as $reflectionParameter) {
$parameterName = $reflectionParameter->getName();
$parameterType = $reflectionParameter->getType();
$parameterClass = $reflectionParameter->getClass();
$parameterPosition = $reflectionParameter->getPosition();
echo "Parameter name: " . $parameterName . "\n";
echo "Parameter type: " . ($parameterType ? $parameterType->getName() : 'No type') . "\n";
echo "Parameter class: " . ($parameterClass ? $parameterClass->getName() : 'No class') . "\n";
echo "Parameter position: " . $parameterPosition . "\n";
echo "\n";
}
?>
输出结果:
Parameter name: param1
Parameter type: No type
Parameter class: No class
Parameter position: 0
Parameter name: param2
Parameter type: No type
Parameter class: No class
Parameter position: 1
以上示例代码创建了一个 ReflectionParameter 对象,并使用该对象获取了 MyClass 类的 myMethod 方法的参数信息。然后,通过遍历 ReflectionParameter 对象数组,获取每个参数的名称、类型、类和位置,并将其输出到屏幕上。