Пользовательские разделы и группировка PHPDoc

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

В настоящее время мы используем PHPDoc для создания всей нашей документации и придерживаемся строгого стандарта PHP Codesniffer, который обеспечивает полноту и согласованность документации.

Что я хочу сделать, так это автоматически создавать документацию, которая в одном месте перечисляет все события, доступные в системе; Я хочу упростить разработку новых плагинов, облегчив поиск доступных событий, какие данные предоставляются в этих событиях и какие ответы могут быть отправлены вместе с событиями.

Есть ли способ добиться этого с помощью PHPDoc? На данный момент лучший подход, который у меня есть, это добавить тег @uses к методу, который уведомляет о событии, ссылаясь на мой класс PluginRegistry; таким образом, по крайней мере, можно найти связанные методы, но он далек от идеала, поскольку не предоставляет дополнительной документации (какое событие доступно, какие данные, какие возвращаемые данные или даже сколько событий в методе).


person El Yobo    schedule 18.10.2010    source источник


Ответы (1)


Пусть все ваши события реализуют определенный интерфейс, затем вы можете использовать сгенерированные файлы phpdoc, чтобы узнать, какие классы реализуют этот интерфейс событий.

person cweiske    schedule 18.10.2010
comment
Кажется несколько неправильным добавлять кучу классов только для того, чтобы манипулировать документацией; мои события — это просто sfEvents (экземпляры класса sfEvent), поскольку они не добавляют к стандарту нового поведения или состояния. Вы правы, что это сгруппирует их вместе, но я просто не думаю, что это правильный путь. - person El Yobo; 19.10.2010