如何从Symfony中的Service访问容器?

时间:2015-09-08 12:55:10

标签: symfony routing containers

我已经创建了一项服务并希望从内部访问容器,因此我可以访问路由, 我应该在调用服务的控制器中注入容器还是处理它?

1 个答案:

答案 0 :(得分:4)

人们普遍认为将容器注入任何东西是一个坏主意。

在services.yml(或services.xml)中声明服务时,可以向其中注入其他服务:

your.awesome.service:
    class: Hippies\FlowerBundle\Service\Awesome
    arguments:
        - '@router'

并处理你的服务类的构造函数:

public function __construct($router)
{
    $this->router = $router;
}