2013-08-28 5 views
4

Вот что я хочу сделать. У меня есть некоторый YML файл как ...Symfony2: Многоуровневые параметры в YML

Мой заказ YML файл:

# app/config/sv_parameters.yml 
parameters: 
    sv_email: 
    debug: "[email protected]" 
    admin: "[email protected]" 
    ... 

Файл config.yml, импортировать свои собственные Params:

# app/config/config.yml 
imports: 
    - { resource: sv_parameters.yml } 
... 

config_dev.yml, импорта config.yml, и с помощью подпараметра моего пользовательского файла YML:

# app/config/config_dev.yml 
imports: 
- { resource: config.yml } 

swiftmailer: 
    delivery_address: "%sv_email.debug%" 

Но, когда я clear:cache:

You have requested a non-existent parameter "sv_email.debug". 

Я знаю, что в PHP многоуровневые параметры являются массивами. Но означает ли это, что мы можем получить к ним доступ в чистом YML?

Я мог бы написать мои sv_email параметров инлайн, но это не так чисто, как несколько уровней ..

ответ

2

Это невозможно достичь в YML.
Вам нужно переместить эту вложенную переменную на верхний уровень, а затем - включить ее в оба необходимых места.

+0

Это то, что я думал .. Планируют ли они реализовать его в YML? Потому что иногда было бы намного чище, вместо повторения 'sv_email.debug'' sv_email.admin' 'sv_email.client' ... – Bonswouar

+0

@Bonswouar У меня нет абсолютно никакой идеи :) –

+1

Нет шансов. , разрешено в именах параметров yaml, поэтому sv_email.client: значение работает просто отлично. Просто невозможно преобразовать массивы в точечную нотацию без массивного перерыва bc. – Cerad

 Смежные вопросы

  • Нет связанных вопросов^_^