Reflection API. ReflectionParameter.
Итак, мы уже рассмотрели отражение класса, метода и свойства, а сегодня рассмотрим еще одно - отражение параметра или ReflectionParameter.
Откроем файл index.php и начнем.
<?php
$rp = new ReflectionParameter(['Users\User', 'setData'], 0);
echo '<pre>';
print_r(get_class_methods($rp));
echo '</pre>';
?>
В конструктор класса ReflectionParameter передается первым параметром массив, содержащий название класса и название метода, а вторым - параметр, который нам нужен. Заметьте, что нумерация начинается с нуля.
<?php
$rp->isOptional(); // 1, если параметр является необязательным
$rp->getDefaultValue(); // получение значения по-умолчанию
$rp->getDefaultValueConstantName(); // возвращает имя константы, если значение по-умолчанию - константа или null
$rp->getName(); // возвращает имя аргумента
$rp->getPosition(); // возвращает позицию аргумента
$rp->isArray(); // ожидает ли аргумент массив в качестве значения?
$rp->isCallable(); // может ли параметр быть вызван?
$rp->allowsNull(); // проверяет, может ли значение быть null
?>
Выше приведены часто используемые методы и их описание, а остальные вы можете посмотреть сами.
Итак, на этом все. Спасибо за внимание и увидимся в следующей статье!
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.