Итак, мы уже рассмотрели отражение класса, метода и свойства, а сегодня рассмотрим еще одно - отражение параметра или ReflectionParameter .

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
?>

Выше приведены часто используемые методы и их описание, а остальные вы можете посмотреть сами.

Итак, на этом все. Спасибо за внимание и увидимся в следующей статье!