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