ReflectionParameter::getDefaultValue
(PHP 5 >= 5.0.3, PHP 7)
ReflectionParameter::getDefaultValue — Получение значения по умолчанию аргумента
Описание
Получает значение по умолчанию аргумента определенной пользователем функции или метода. Если аргумент не является необязательным, будет выброшено исключение 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
Примечания
Замечание:
В виду особенностей реализации, невозможно получить значение по умолчанию для встроенных функций или методов встроенных классов. Попытки это сделать приведут к выбросу исключения ReflectionException.
Смотрите также
- ReflectionParameter::isOptional() - Проверка, является ли аргумент необязательным
- ReflectionParameter::isPassedByReference() - Проверяет, что аргумент передан по ссылке
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения, относящиеся к переменным и типам
- Reflection
- Функция ReflectionParameter::allowsNull() - Проверяет, допустимо ли значение null для аргумента
- Функция ReflectionParameter::canBePassedByValue() - Проверяет, можно ли передать этот аргумент по значению
- Функция ReflectionParameter::__clone() - Копирующий конструктор
- Функция ReflectionParameter::__construct() - Конструктор класса
- Функция ReflectionParameter::export() - Экспорт
- Функция ReflectionParameter::getClass() - Получение класса
- Функция ReflectionParameter::getDeclaringClass() - Получение объявляющего класса
- Функция ReflectionParameter::getDeclaringFunction() - Получение объявляющей функции
- Функция ReflectionParameter::getDefaultValue() - Получение значения по умолчанию аргумента
- Функция ReflectionParameter::getDefaultValueConstantName() - Returns the default value's constant name if default value is constant or null
- Функция ReflectionParameter::getName() - Получение имени аргумента
- Функция ReflectionParameter::getPosition() - Получение позиции аргумента
- ReflectionParameter::getType
- ReflectionParameter::hasType
- Функция ReflectionParameter::isArray() - Проверяет, ожидает ли аргумент массив в качестве значения
- Функция ReflectionParameter::isCallable() - Returns whether parameter MUST be callable
- Функция ReflectionParameter::isDefaultValueAvailable() - Проверяет доступно ли значение по умолчанию аргумента
- Функция ReflectionParameter::isDefaultValueConstant() - Returns whether the default value of this parameter is constant
- Функция ReflectionParameter::isOptional() - Проверка, является ли аргумент необязательным
- Функция ReflectionParameter::isPassedByReference() - Проверяет, что аргумент передан по ссылке
- ReflectionParameter::isVariadic
- Функция ReflectionParameter::__toString() - Преобразование в строку
Коментарии
[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().