Переменные окружения в Symfony | OTUS

Переменные окружения в Symfony

Любое приложение содержит конфигурацию, которая на каждом сервере разная. Это может быть информация о паролях, соединениях Data Bases и т. д. Каким же образом эти данные лучше хранить? В файлах? Либо существуют другие способы? Посмотрим, как обстоит дело с Symfony.

Первое, что важно отметить, — разработчики Symfony следуют лучшей практике индустрии, поэтому возможно хранение конфигурации, которая основана на сервере, в формате переменных окружения. Что это значит на практике? Да хотя бы то, что Symfony прекрасно работает с системами развертывания платформы, причем как с PaaS, так и с Docker.

Однако инсталляция переменных окружения в процессе разработки бывает очень непростой. Именно поэтому приложение загружает файл .env автоматически, делая это в том случае, если переменная окружения APP_ENV не инсталлирована в окружении. При этом ключи в данном файле впоследствии становятся переменными окружения и, соответственно, считываются приложением:

1-1801-d72aeb.png

Поначалу содержание файла невелико. Однако с ростом приложения вы сможете расширить конфигурацию, если потребуется. Но на деле все гораздо интереснее. Представьте, что вашему приложению необходимо DB ORM. Для примера установим Doctrine ORM:

2-1801-a244db.png

Теперь посмотрим на файл _.env _еще раз:

3-1801-3f035e.png

Итак, новая переменная окружения DATABASE_URL добавилась автоматически, при этом на нее уже ссылается новый конфигурационный файл doctrine.yaml. Если же объединить переменные окружения и Flex, вы получите в свое распоряжение лучшую практику индустрии, причем без дополнительных усилий.

По материалам https://symfony.ru/.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто