【发布时间】:2018-08-23 20:26:30
【问题描述】:
在 Symfony 中使用自动装配并将服务注入控制器时,参数顺序是否有最佳实践?换句话说,注入服务的参数应该在路由参数的参数之前还是之后?
Symfony 文档似乎对此不一致。 In this example,它们显示了在注入服务之前的路由参数。但是,in this example,他们却以相反的方式展示了它。
我倾向于总是先注入服务,所以我可以给路由参数一个默认值:
public function someAction(Request $request, MyService $myService, $id = 0)
另外,这对我来说看起来不对:
public function someAction(Request $request, $id, MyService $myService)
我已经用谷歌搜索并搜索了堆栈溢出,但没有看到任何其他答案。我觉得这有点奇怪,因为我觉得这些事情的一致性很重要(也许我在这里有点过火了,这真的没关系?)
【问题讨论】:
-
我在某处读到最好的做法是将可选参数放在最后,但为了它,我无法在任何地方找到它。
-
这并不是最佳实践。 php 要求您在函数的 放置可选参数。一旦遇到可选参数,php 要求所有以下参数都是可选的。