Представляю вниманию общественности визуальный PHP-рефлектор.
Скрипт индексирует все .php-файлы в указанной директории, кэширует информацию о найденных классах. Разбор .php файлов осуществляется с помощью Tokenizer. Кэшируются имена найденных классов, кэшируется сопоставление имя файла — класс для последующего использования в автолоадере.
Список классов представляется в виде дерева. Для каждого класса доступен список методов, свойств. Доступен просмотре базового класса и имплементированных интерфейсов. Данные о «составе» классов получаются на ходу через PHP reflection API. Данные подгружаются через AJAX.
Интерфейс выполнен на ExtJS. Этим обусловлена поддержка браузеров — работает в IE6+, FF1.5+, Safari 3+, Opera 9+ (PC, Mac)
Посмотреть PHPReflector в действии.
UPD: Исходники
Теперь Ext с минимальным набором компонентов подгружается из внешних источников через CDN (CacheFly)
Планы на будущее:
- Причесать исходники;
- Сделать поиск;
- Сделать отображение не только базовых классов, но и классов, наследованных от данного;
- Отображение DocBlock'ов для классов, методов, свойств
- UPD: Добавить отображение штатных классов PHP