.env-файлы и vlucas/phpdotenv для конфигурацииЕсли вы хотите разделить конфигурацию от кода и упростить смену окружений (разработка ↔️ тест ↔️ продакшн) — настройка
.env и php-dotenv даст вам мощный инструмент. Ниже: как и зачем.🔍 Что и зачем
Lib php-dotenv загружает переменные из файла
.env и делает их доступными через $_ENV, $_SERVER, getenv().Это позволяет:
🔸 убрать чувствительные данные (пароли, ключи) из репозитория;
🔸 легко переключаться между разными окружениями — просто замените
.env;🔸 иметь шаблон
.env.example, который показывает, какие переменные обязательны. ⚙️ Как настроить
Установите:
composer require --dev vlucas/phpdotenv :contentReference[oaicite:5]{index=5}
Создайте файл .env в корне проекта (добавьте в .gitignore), например:
DB_HOST=localhost
DB_NAME=myapp
DB_USER=user
DB_PASS=secret
В точке входа приложения (например, public/index.php или bootstrap.php) добавьте:
require DIR . '/vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
:contentReference[oaicite:6]{index=6}
`
Сейчас переменные доступны, например:
$host = $_ENV['DB_HOST'] ?? 'default_host';
(Опционально) Добавьте обязательные переменные, чтобы приложение падало, если что-то не задано:
$dotenv->required(['DB_HOST','DB_NAME','DB_USER'])->notEmpty();
:contentReference[oaicite:7]{index=7} 🧠 Почему это важно
Считайте: вы переместили всё окружение в легко заменяемый файл. Нет необходимости руками менять конфиги при переезде на другой сервер.
Удобно для командной работы: каждый разработчик копирует
.env.example → .env, заполняет свои значения.Повышает безопасность: не храните пароли и ключи прямо в коде.
Делает архитектуру конфигурации более модульной и переносимой.
Библиотека пхпшника