Мы уже разобрали отражения классов, свойств, методов и параметров, а сегодня у нас заключительная статья из серии, посвященной Reflection API , где разберем отражение объектов , или ReflectionObject .

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

Итак, я показал некоторые методы, но их, конечно же, намного больше. Разобраться с остальными, думаю, вы можете сами. Спасибо за внимание и до следующих статей!