Как Symfony анализировать и использовать аннотации - PullRequest
0 голосов
/ 30 августа 2018

Использование аннотации Symfony, например, для маршрутизации, довольно удивительно, но мне интересно, как эта структура анализирует комментарии и извлекает аннотацию? Например:

 /**
 * @Route("/tehran", name="tehran")
 */

, а затем использовать его как маршрут к следующему методу контроллера.

1 Ответ

0 голосов
/ 30 августа 2018

Symfony использует модуль Doctrine Annotations для анализа блока документов из вашего класса.

См:

https://github.com/doctrine/annotations

https://doctrine -common.readthedocs.io / ен / последний / ссылка / annotations.html

Он использует класс Reflection для чтения аннотаций

https://secure.php.net/manual/fr/book.reflection.php

Symfony будет читать ваши аннотации при первом запуске (и будет кэшировать проанализированные маршруты). Затем маршруты сопоставляются с текущим запросом с помощью UrlMatcher.

http://api.symfony.com/3.2/Symfony/Component/Routing/Matcher/UrlMatcher.html

...