symfony如何解析和使用注释

时间:2018-08-30 06:13:45

标签: php symfony parsing annotations symfony4

使用Symfony注释进行路由非常令人惊奇,但是我不知道此框架如何解析注释并提取注释? 例如:

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

,然后将其用作下一个控制器方法的路径。

1 个答案:

答案 0 :(得分:1)

Symfony使用“教义注释”模块从类中解析文档块。

请参阅:

https://github.com/doctrine/annotations

https://doctrine-common.readthedocs.io/en/latest/reference/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