Объединение параметров конфигурации в Symfony


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

Мой файл конфигурации.yml содержит:

parameters:
    curl:
        return_transfer: true
        timeout: 25
        connect_timeout: 2

Мой файл config_dev.yml содержит:

parameters:
    curl:
        timeout: 60

Итак, я хочу переопределить только один (вложенный) параметр конфигурации "тайм-аут". Но я получаю этот (переопределенный) параметр только в контейнере среды разработки. Остальные (return_transfer и connect_timeout) исчезли. Кажется, что весь параметр config заменяется, а не объединяется с config.yml. Как можно объединить эти параметры?

Спасибо!

Author: Jens Sieckmann, 2017-10-02

2 answers

Parameters представляет собой одномерный массив. Это означает, что ваш параметр curl на самом деле представляет собой массив значений, а не параметров. Я полагаю, что вы можете дублировать их только в своих параметрах разработчика.

    return_transfer: true
    connect_timeout: 2
 1
Author: svgrafov, 2017-10-02 10:42:54

Убедитесь, что в вашем файле 'config_dev.yml` есть по крайней мере следующие строки:

imports: - { resource: '../common/config.yml' }

И убедитесь, что ваше приложение запускается в режиме --env=dev, чтобы загрузить файл config_dev.yml в стандартной настройке Symfony.

Для получения подробной информации также проверьте Документацию .

 1
Author: LBA, 2017-10-02 10:32:00