Dependency injection 您是否可以在路线中使用DIC的参数?(方法参数注入)

Dependency injection 您是否可以在路线中使用DIC的参数?(方法参数注入),dependency-injection,routing,symfony,Dependency Injection,Routing,Symfony,在我的Symfony2项目中,我有一些服务被某个标签击中,我想在控制器内部使用 因此,我试图找出将它们传递给控制器的最佳方法,并认为也许有一种方法可以通过Symfony2的整体配置系统实现这一点 # Inside routing.yml: my_controller: pattern: "/path" defaults { _controller: Bundle:Controller:action # The following line is kind of

在我的Symfony2项目中,我有一些服务被某个标签击中,我想在控制器内部使用

因此,我试图找出将它们传递给控制器的最佳方法,并认为也许有一种方法可以通过Symfony2的整体配置系统实现这一点

#  Inside routing.yml:
my_controller:
  pattern: "/path"
  defaults {
      _controller: Bundle:Controller:action
      # The following line is kind of what I'm looking for.
      myParam: @my.tag
  }

# Inside a services.yml file:
my.service:
  class: Bundle\MyService
  tags:
      - { name: my.tag }
my.otherService:
  class: Bundle\MyOtherService
  tags:
      - { name: my.tag }
给定上面的两个配置文件示例,我希望我的Bundle:Controller:action实例接收一个包含Bundle\MyService和Bundle\MyOtherService实例的数组

谢谢

产生了一个解决方案。然而,一些API已经改变了。即:

您覆盖的bundle方法是build,而不是registerExtensions。 您重载的扩展方法是load而不是configLoad。 只要您相应地移动这两块代码并正确地实现它,您就应该能够获得我想要的功能

遗憾的是,DIC并没有以任何方式自动完成这项工作,但需要注意的是,我确实需要获取特定标签的所有内容。不仅来自我的捆绑包,而且来自最终成为应用程序一部分的每个捆绑包