Мы уже разобрали отражения классов, свойств, методов и параметров, а сегодня у нас заключительная статья из серии, посвященной 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
?>
Итак, я показал некоторые методы, но их, конечно же, намного больше. Разобраться с остальными, думаю, вы можете сами. Спасибо за внимание и до следующих статей!
