symfony路由:注释与文件

时间:2018-06-09 15:52:01

标签: symfony routing annotations

在控制器中使用注释或在文件中使用注释列表(例如routes.yaml),更重要的是,为什么?

更好的做法是什么?

我参与了大型项目,你按照类别划分了所有yaml路由,每次创建新路由时,你必须至少更新控制器和一些文件。我不喜欢它。我希望开始一个项目,并试图决定什么更好的选择。我正在考虑使用注释,但我还没有足够的经验来确定它是正确的方法。

2 个答案:

答案 0 :(得分:0)

一切都取决于

对于你的AppBundle的常见和简单路由我建议注释,但对于你可能想要重用的其他bundle我喜欢yaml,但标准是xml。原因是第三方软件包的用户可以复制yaml / xml文件,并将其放在appbundle中,然后他可以更改它并将自己的版本添加到他的路由中。一个很好的例子是fosUserBundle。想象一下,您不想要注册表单,因为只有管理员可以添加新用户。在这种情况下,您不希望路由注册,并且必须更改路由配置

动态路线

有时您还需要动态路线。 SonataAdmin是一个生成动态路由的捆绑包。它为使用sonata.admin标记的每个服务添加路由。

答案 1 :(得分:0)

在我看来,两者都是不错的选择,并没有绝对的真相。你应该使用你觉得最舒服的那个。

对我来说,它们之间的主要区别是:

<强>注解

  • 简化读取和更新路由的过程,因为路由和控制器位于同一个文件中,彼此非常接近。

  • 您在相同的文件控制器和路由配置中进行组合。

<强> YAML

  • 更难阅读;每次需要检查路由或参数时,都需要查找正确的yaml文件。

  • 更有条理的方式和分离的概念。

我最后的偏好是与annotations一起使用,主要原因是因为我根本不喜欢yaml格式。