Установите переменную среды по умолчанию в Symfony

Я использую Symfony 3.4 и пытаюсь установить значение по умолчанию для переменной окружения:

У меня есть файл .env в корне моего проекта, содержащий:

DB_PASSWORD=someValue

а в моем app/config/parameters.yml у меня есть следующее:

parameters:
    ...
    database_password: '%env(DB_PASSWORD)%'
    ...

Я хотел бы сделать определение переменной DB_PASSWORD необязательным в файле .env, но я не могу найти никакой документации о том, как это сделать.

Я пытался сделать следующее:

parameters:
    ...
    database_password: '%env(DB_PASSWORD, "default")%'
    ...

безуспешно.

Как я могу определить значение по умолчанию для переменной окружения в Symfony?

Стоит ли изучать 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 нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
3
0
2 279
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вам просто нужно объявить env(DB_PASSWORD): default_value в вашем parameters.yml, как указано в документация

You can also give the env() parameters a default value: the default value will be used whenever the corresponding environment variable is not found:

# app/config/parameters.yml
parameters:
    database_host: '%env(DATABASE_HOST)%'
    env(DATABASE_HOST): localhost

В Symfony 4.3 вы можете использовать что-то вроде

env(default:DEFAULT_VALUE:ENV_VAR_NAME)

Также см. Соответствующий документация.

Не совсем правильно. Не default_value, это фактически ключ параметра.

Alex Smith 13.11.2019 19:41

@AlexSmith Я не понимаю, о чем вы. Что не так? Не могли бы вы уточнить?

Alex 19.11.2019 10:29

@Alex: это имя другого параметра, значение которого используется как значение по умолчанию.

sparrow 27.02.2020 21:35

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