[Editor's note: fixed on user's request]
Getting `Uncaught ReflectionException: Internal error: Failed to retrieve the default value`?
You have to wrap this inside ->isDefaultValueAvailable().
(PHP 5 >= 5.0.3, PHP 7, PHP 8)
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 'Имя: ' . $param->getName() . PHP_EOL;
if ($param->isOptional()) {
echo 'Значение по умолчанию: ' . $param->getDefaultValue() . PHP_EOL;
}
echo PHP_EOL;
}
?>
Результат выполнения приведённого примера:
Имя: test Имя: bar Значение по умолчанию: baz
[Editor's note: fixed on user's request]
Getting `Uncaught ReflectionException: Internal error: Failed to retrieve the default value`?
You have to wrap this inside ->isDefaultValueAvailable().