ReflectionParameter::getDefaultValue

(PHP 5 >= 5.0.3, PHP 7, PHP 8)

ReflectionParameter::getDefaultValue获取默认参数值

描述

public ReflectionParameter::getDefaultValue(): 混合类型

获取任何用户定义或内部函数或方法的参数的默认值。如果参数不是可选的,将抛出 ReflectionException

参数

此函数没有参数。

返回值

参数的默认值。

变更日志

版本 描述
8.0.0 此方法现在允许获取内置函数和内置类方法的参数的默认值。以前,会抛出 ReflectionException

示例

示例 #1 获取函数参数的默认值

<?php
function foo($test, $bar = 'baz')
{
echo
$test . $bar;
}

$function = new ReflectionFunction('foo');

foreach (
$function->getParameters() as $param) {
echo
'Name: ' . $param->getName() . PHP_EOL;
if (
$param->isOptional()) {
echo
'Default value: ' . $param->getDefaultValue() . PHP_EOL;
}
echo
PHP_EOL;
}
?>

上面的示例将输出

Name: test

Name: bar
Default value: baz

参见

添加注释

用户贡献的注释 1 个注释

gmail@asmqb7
8 年前
[编辑注:根据用户的要求修复]

获取 `Uncaught ReflectionException: Internal error: Failed to retrieve the default value`?

您需要将其包装在 ->isDefaultValueAvailable() 中。
To Top