【发布时间】:2012-06-27 21:36:46
【问题描述】:
从我的控制器中,我访问应用程序参数(/app/config 中的参数)
$this->container->getParameter('my_param')
但我不知道如何从服务访问它(我想我的服务类不应该扩展 Symfony\Bundle\FrameworkBundle\Controller\Controller)。
我是否应该像这样将所需的参数映射到我的服务注册中:
#src/Me/MyBundle/Service/my_service/service.yml
parameters:
my_param1: %my_param1%
my_param2: %my_param2%
my_param3: %my_param3%
或类似的东西?我应该如何从服务访问我的应用程序参数?
This question 看起来是一样的,但实际上我的答案是(来自控制器的参数),我说的是从服务访问。
【问题讨论】:
-
我的问题实际上回答了这个问题(来自控制器的参数),我说的是从这里的服务访问
-
我不确定我是否理解你。你同意重复吗?现在,控制器是 Symfony 中的服务。
-
我不同意这个副本。另一个问题是专门要求使用
$this->getParameter()轻松获取参数的控制器。 -
这是真的,我同意。这仍然是可能的。还有一种趋势是远离容器在任何地方注入并转向构造函数注入。多亏了 PSR-4 服务自动发现和参数绑定:symfony.com/blog/new-in-symfony-3-4-local-service-binding,它干净且使用起来更短。