函数名称:ReflectionParameter::getDefaultValue()
适用版本:PHP 5 >= 5.0.3, PHP 7
函数用法:public ReflectionParameter::getDefaultValue(): mixed
该方法用于获取函数或方法参数的默认值。如果参数没有默认值,则返回null。
参数列表:
- 无
返回值:
- mixed:参数的默认值,如果参数没有默认值,则返回null。
示例代码:
<?php
class MyClass {
public function myMethod($param1 = 'default') {
// ...
}
}
$reflectionClass = new ReflectionClass('MyClass');
$reflectionMethod = $reflectionClass->getMethod('myMethod');
$parameters = $reflectionMethod->getParameters();
foreach ($parameters as $parameter) {
echo 'Parameter Name: ' . $parameter->getName() . "\n";
echo 'Has Default Value: ' . ($parameter->isDefaultValueAvailable() ? 'Yes' : 'No') . "\n";
echo 'Default Value: ' . var_export($parameter->getDefaultValue(), true) . "\n";
echo "\n";
}
?>
输出结果:
Parameter Name: param1
Has Default Value: Yes
Default Value: 'default'
在上面的示例中,我们首先创建了一个名为MyClass
的类,并在其中定义了一个名为myMethod
的方法,该方法有一个名为$param1
的参数,并设置了默认值为'default'
。然后,我们使用ReflectionClass
类和ReflectionMethod
类获取方法的反射,并使用getParameters()
方法获取方法的参数列表。最后,我们遍历参数列表,使用getName()
方法获取参数的名称,使用isDefaultValueAvailable()
方法检查参数是否有默认值,使用getDefaultValue()
方法获取参数的默认值,并将结果输出到屏幕上。
可以看到,ReflectionParameter::getDefaultValue()
方法返回了参数$param1
的默认值'default'
。