Зміни в .env від листопада 2018 року та як оновитися
Дата оновлення перекладу 2022-12-12
Зміни в .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
визначали значення за замовчуванням, які ви можете перевизначити, якщо хочете, на реальні значення середовища.
Є ще декілька покращень, але це - найважливіші. Щоб скористатися їх перевагами, вам потрібно буде змінити декілька файлів у вашому існуючому додатку.
Оновлення мого додатку
Якщо ви створили ваш додаток пілся 15-го листопада 2018 року, вам не потрібно робити ніяких змін! В іншому випадку, ось список змін, які вам потрібно зробити - ці зміни можуть бути зроблені в будь-якому додатку Symfony 3.4 або вище:
- Оновіть ваш файл
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
.