Welcome to php club

PHP FAQ from PHPclub.ru: PHP5/Reflection ...

Начало | Каталог | Изменения | НовыеКомментарии | Вам запрещён доступПользователи | Вам запрещён доступРегистрация | Вход:  Пароль:  

Reflection API

Краткое описание

Кроме всего прочего, PHP5 включил в себя мощный инструмент разработки — Reflection API, позволяющий анализировать классы, интерфейсы, функции и методы. Reflection API — расширение, состоящее из набора классов:

<?php
  
class Reflection { }
  interface
Reflector { }
  class
Reflection_Exception extends Exception { }
  class
Reflection_Function implements Reflector { }
  class
Reflection_Parameter implements Reflector { }
  class
Reflection_Method extends Reflection_Function { }
  class
Reflection_Class implements Reflector { }
  class
Reflection_Property implements Reflector { }
  class
Reflection_Extension implements Reflector { }
?>

каждый из которых отвечает за анализ конкретного элемента, а главный класс Reflection за вывод.
<?php
Reflection
::export(Reflection_Class('Foo'));
?>

Аналогичным образом можно вывести полную информацию о любом элементе. Кроме общего вывода, каждый из классов Reflection API содержит свои методы для возврата конкретного значения элемента, как то isPassedByReference() в случае параметра или isPublic() в случае метода или свойства.

Проблемы с обратной совместимостью

Проблем с обратной совместимостью данное нововведение не имеет.

Дополнительные сведения

Описание в оригинальной документации: http://www.php.net/oop5.reflection
Reflector — полезный инструмент для исследования недокументированных классов/методов/функций и их параметров: http://dev.e-taller.net/reflector/


 
Комментариев нет. [Показать комментарии/форму]