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