Определение параметров с помощью переменных среды, которые могут не существовать

Как можно определить параметры, чтобы они задавались переменными среды, но они не вызывали ошибку, если переменная среды не существует.

Другими словами, это параметры, которые не требуются, но определяются переменными среды, когда они существуют.

foo: '%env(resolve:MYFOO)%'

В приведенном выше примере будет сгенерирована ошибка, если переменная среды MYFOO не существует.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
1
0
46
1

Ответы 1

Вы можете установить значение по умолчанию для env vars следующим образом:

parameters:
    env(MYFOO): bar
    foo: '%env(resolve:MYFOO)%'

Если вам нужно добавить более конкретную логику, вы можете создать файл parameters_env.php, чтобы загрузить переменные среды и добавить некоторую логику.

Например :

В config / config.yml

imports:
    - { resource: parameters.yml }
    - { resource: parameters_env.php }

В config / parameters_env.php

<?php 

if (isset($_ENV['MYFOO'])) {
    $container->setParameter('foo', getenv('MYFOO'));
}else{
    //default value or load from another resource.
}

Другие вопросы по теме