Изменения в .env от ноября 2018-го и как обновиться
Дата обновления перевода 2021-07-20
Изменения в .env от ноября 2018-го и как обновиться
В ноябре 2018-го, было внесено несколько изменений в основные рецепты Symfony,
связанные с файлом .env
. Эти изменения делают работу с переменными окружений
проще и более согласованной - особенно при написании функциональных тестов.
Если ваше приложение было создано до ноября 2018 года, ему не требуется никаких изменений для продолжения работы. Однако, когда/если вы готовы воспользоваться преимуществом этих улучшений, вам понадобится сделать несколько небольших обновлений.
Что именно изменилось?
Но для начала, что же изменилось? На высшем уровне - не многое. Вот итог наиболее важных изменений:
- A) Файл
.env.dist
больше не существует. Его содержание должно быть перемещено в ваш файл.env
(см. следующий пункт). - B) Файл
.env
теперь отправляется в ваше хранилище. Раньше он игнорировался через файл.gitignore
(обновленный рецепт не игнорирует этот файл). Так как этот файл отправляется, он должен содержать нечувствительные значения по умолчанию..env
можно рассматривать как предыдущий файл.env.dist
. - C) Файл
.env.local
теперь может быть создан, чтобы переопределять значения в.env
для вашей машины. Этот файл игнорируется в новом.gitignore
. - D) При тестировании, ваш файл
.env
теперь читается, что делает его согласованным со всеми другими окружениями. Вы также можете создать файл.env.test
для переопределений тестового окружения. - E) Еще одно изменение было сделано в январе 2020-го, которое означает, что ваши файлы
.env
загружаются всегда, даже если вы установите переменную окруженияAPP_ENV=prod
. Цель заключается в том, чтобы файлы.env
определяли значения по умолчанию, которые вы можете переопределить, если хотите, на реальзные значения окружения.
Есть еще несколько улучшений, но это - самые важные. Чтобы воспользоваться их преимуществами, вам нужно будет изменить несколько файлов в вашем существующем приложении.
Updating My Application
If you created your application after November 15th 2018, you don't need to make any changes! Otherwise, here is the list of changes you'll need to make - these changes can be made to any Symfony 3.4 or higher app:
- Обновите ваш файл
public/index.php
, чтобы добавить код файла public/index.php, предоставленного Symfony. Если вы персонализировали этот файл, убедитесь в том, что сохраняете эти изменения (но добавьте все другие изменения, сделанные Symfony). - Обновите ваш файл
bin/console
, чтобы добавить код файла bin/console, предоставленного Symfony. Обновите
.gitignore
:1 2 3 4 5 6 7 8 9 10
# .gitignore # ... ###> symfony/framework-bundle ### - /.env + /.env.local + /.env.local.php + /.env.*.local # ...
Переименуйте
.env
в.env.local
, а.env.dist
в.env
:1 2 3 4 5 6 7
# Unix $ mv .env .env.local $ git mv .env.dist .env # Windows C:\> move .env .env.local C:\> git mv .env.dist .env
Вы также можете обновить комментарий сверху в .env, чтобы отобразить новые изменения.
- Если вы используете PHPUnit, вам также понадобится создать новый файл .env.test и
обновит ваш файл phpunit.xml.dist, чтобы он загружал файл
tests/bootstrap.php
.