Я использую 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?




Вам просто нужно объявить 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)
Также см. Соответствующий документация.
@AlexSmith Я не понимаю, о чем вы. Что не так? Не могли бы вы уточнить?
@Alex: это имя другого параметра, значение которого используется как значение по умолчанию.
Не совсем правильно. Не default_value, это фактически ключ параметра.