Переменные окружения в Symfony. Что это такое и зачем это может быть нужно?

Когда вы разрабатываете приложение на Symfony, оно может работать в разных средах. 

Если вы разрабатываете приложение на локальном сервере, эта среда будет называться dev (от development). В этой среде вы тестируете разрабатываемое вами приложение. Отлаживаете там ошибки и смотрите отладочную информацию. 

Когда приложение уже готово и вы готовы показать его посетителям вашего сайта, вы публикуете это приложение на удаленном сервере. Обычно это какой-то хостинг.

Среда разработки, где вы будете публиковать итоговые файлы вашего проекта называется среда prod (от production). 

Таким образом вашему приложению может быть нужно работать в разных средах, на разных компьютерах с разным программным обеспечением.

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

Переменные окружения - это специальные переменные, которые меняют свое значение в зависимости от той среды, в которой будет работать ваше приложение. 

Переменная окружения - это просто текстовая строка, которая располагается в обычном текстовом файле и выглядит следующим образом:

NAME_VAR = value

Большими латинскими буквами написано имя переменной, а после знака равно ее значение.

Каждое слово в переменной разделяется нижним подчеркиванием. 

Где это может понадобиться:

1) Подключение к базе данных

2) Отправка электронной почты

3) Хранилище для изображений

Подробнее в видео.

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

Переменные окружения - это способ сделать наше приложение независимым от той среды где оно работает. Значения переменных один раз задаются в каждой среде и потом можно об этом не беспокоиться.

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