Мы уже рассмотрели отражение классов и отражение методов, а в этом материале рассмотрим отражение свойств или ReflectionProperty .
Мы уже рассмотрели отражение классов и отражение методов, а в этом материале рассмотрим отражение свойств или ReflectionProperty.
Итак, в файле index.php пропишем следующее:
<?php
include 'user.php';
$rp = new ReflectionProperty('Users\User', 'data');
echo '<pre>';
print_r(get_class_methods($rp));
echo '</pre>';
?>
В конструктор класса ReflectionProperty первым параметром передаем название класса, а вторым - свойство в виде строки.
Если вы посмотрите, что выведет код выше, то увидите, что методов у класса ReflectionProperty не так уж и много.
<?php
$rp->getName(); // возвращает имя свойства
$rp->getValue(); // возвращает значение свойства
$rp->setValue(); // устанавливает значение свойства
$rp->isPublic(); // публичный? Если да, то вернется 1
$rp->isProtected(); // защищенный?
$rp->isPrivate(); // приватный?
$rp->isStatic(); // статичный?
$rp->isDefault(); // установлено значение по-умолчанию?
$rp->getModifiers(); // возвращает модификаторы
$rp->setAccessible(true); // делает свойство доступным
?>
Вот, собственно, и все, что можно рассказать про отражение свойства. Это очень простая, но полезная вещь.
Итак, на этом все. Спасибо за внимание!
