файл parameters.yml имеет:
parameters: title: subtitle: value
Я хочу передать value
службе в config.yml
my_service: class: the_class arguments: [ %title.subtitle%] //didn't work arguments: [ %title['subtitle']%] //didn't work
Как я могу это сделать?
Нотация %
не работает, но может быть выполнена следующим образом:
my_service: class: the_class arguments: ["@=container.getParameter('title')['subtitle']"]
Он работает как минимум для symfony 2.7.3
Более подробную информацию о языке выражений можно найти в поваренной книге: http://symfony.com/doc/current/book/service_container.html#using-the-expression-language
Symfony2 не поддерживает чтение отдельных элементов массива параметров с использованием нотации %
. То, что вы делаете, невозможно из коробки.
Единственный способ сделать это – создать собственный Symfony\Component\DependencyInjection\ParameterBag\ParameterBag
который будет поддерживать выборку элемента массива.