Symfony2: Где / как я могу запустить свою собственную программу чтения аннотаций? - PullRequest
3 голосов
/ 24 февраля 2012

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

/**
 * @Event("some.event");
 */
public function onSomeEvent(Event $event) {}

Я обнаружил, что для анализа докблока я могу использовать средство чтения аннотаций или простые php-отражения.Какое событие я должен слушать, чтобы вызвать моего читателя?Или кто-нибудь может подсказать, как это работает с @ Route-annotations?Мне нужна почти та же логика, но я упустил некоторые важные моменты, прочитав код Symfony.

1 Ответ

3 голосов
/ 24 февраля 2012

Посмотрите на код в ControllerListener классе в SensioFrameworkExtraBundle .Это зарегистрировано как kernel.event_listener здесь .

Этот слушатель читает / анализирует аннотации, предоставленные этим пакетом.Аннотации, предоставляемые SensioFrameworkExtraBundle, расположены здесь .

Вы можете просто имитировать одну из предоставленных аннотаций пакета для выполнения ваших потребностей.

...