如何从Symfony中的服务访问容器?

如何从Symfony中的服务访问容器?,symfony,routing,containers,Symfony,Routing,Containers,我已经创建了一个服务,希望从内部访问容器,以便访问路由, 我应该注入容器还是在调用服务的控制器中处理它 人们普遍认为,将容器注入任何东西都是一个坏主意 当您在services.yml(或services.xml)中声明服务时,您可以向其中注入其他服务: your.awesome.service: class: Hippies\FlowerBundle\Service\Awesome arguments: - '@router' 并在服务类的构造函数中处理该问题:

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

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

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

your.awesome.service:
    class: Hippies\FlowerBundle\Service\Awesome
    arguments:
        - '@router'
并在服务类的构造函数中处理该问题:

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

人们普遍认为,将容器注入任何东西都不是一个好主意

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

your.awesome.service:
    class: Hippies\FlowerBundle\Service\Awesome
    arguments:
        - '@router'
并在服务类的构造函数中处理该问题:

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

同意,尽量少注射。同意,尽量少注射。