Reflection API. ReflectionObject.
Мы уже разобрали отражения классов, свойств, методов и параметров, а сегодня у нас заключительная статья из серии, посвященной Reflection API, где мы разберем отражение объектов, или ReflectionObject.
Как всегда идем в файл index.php
<?php
$user = new Users\User;
$ro = new ReflectionObject($user);
echo '<pre>';
print_r(get_class_methods($ro));
echo '</pre>';
?>
Как вы можете видеть, большинство методов у объектов такое же, как и у классов. Единственная разница в том, что, например, мы можем получить свойства, которые принадлежат именно этому объекту, а в классе их может и не быть. Или наоборот. Думаю, мысль вы поняли.
Рассмотрим некоторые примеры.
<?php
$ro->getName(); // имя класса, включая пространство имен
$ro->getShortName(); // имя класса без пространства имен
$ro->getNamespaceName(); // имя пространства имен
$ro->getFileName(); // путь до файла
$ro->isSubclassOf('Users\AUser'); // наследует ли класс что-нибудь от Users\AUser
?>
Итак, я показал некоторые методы, но их, конечно же, намного больше. Разобраться с остальными, думаю, вы можете сами. Спасибо за внимание и до следующих статей!
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.