在控制器中使用注释或在文件中使用注释列表(例如routes.yaml),更重要的是,为什么?
更好的做法是什么?我参与了大型项目,你按照类别划分了所有yaml路由,每次创建新路由时,你必须至少更新控制器和一些文件。我不喜欢它。我希望开始一个项目,并试图决定什么更好的选择。我正在考虑使用注释,但我还没有足够的经验来确定它是正确的方法。
答案 0 :(得分:0)
一切都取决于
对于你的AppBundle的常见和简单路由我建议注释,但对于你可能想要重用的其他bundle我喜欢yaml,但标准是xml。原因是第三方软件包的用户可以复制yaml / xml文件,并将其放在appbundle中,然后他可以更改它并将自己的版本添加到他的路由中。一个很好的例子是fosUserBundle。想象一下,您不想要注册表单,因为只有管理员可以添加新用户。在这种情况下,您不希望路由注册,并且必须更改路由配置
动态路线
有时您还需要动态路线。 SonataAdmin是一个生成动态路由的捆绑包。它为使用sonata.admin标记的每个服务添加路由。
答案 1 :(得分:0)
在我看来,两者都是不错的选择,并没有绝对的真相。你应该使用你觉得最舒服的那个。
对我来说,它们之间的主要区别是:
<强>注解强>
简化读取和更新路由的过程,因为路由和控制器位于同一个文件中,彼此非常接近。
您在相同的文件控制器和路由配置中进行组合。
<强> YAML 强>
更难阅读;每次需要检查路由或参数时,都需要查找正确的yaml文件。
更有条理的方式和分离的概念。
我最后的偏好是与annotations
一起使用,主要原因是因为我根本不喜欢yaml格式。