Можете ли вы использовать параметры из DIC в маршрутах? (метод ввода параметров) - PullRequest
0 голосов
/ 04 сентября 2011

В моем проекте 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».

Спасибо!

1 Ответ

0 голосов
/ 05 сентября 2011

Это обсуждение групп Google привело к решению.Однако некоторые API изменились.А именно:

  • Перезаписываемый метод комплекта - это build (), а не registerExtensions ().
  • Перегружаемый метод расширения - это load (), а не configLoad ().

До тех пор, пока вы соответствующим образом перемещаете два блока кода и правильно его реализуете, вы сможете получить что-то в соответствии с желаемой функциональностью.

К сожалению, этого не происходитЛюбой способ автоматизирован DIC, но важно отметить, что у меня есть требование получать все из определенного тега.Не только из моего пакета, но и из каждого пакета, который в конечном итоге становится частью приложения.

...