phpdotenv

Онлайн-тренажер Python для начинающих

Изучайте Python легко и без перегрузки теорией. Решайте практические задачи с автоматической проверкой, получайте подсказки на русском языке и пишите код прямо в браузере — без необходимости что-либо устанавливать.

Начать курс

Что такое phpdotenv?

phpdotenv — это популярная PHP-библиотека для управления конфигурацией приложений через переменные окружения. Она позволяет загружать настройки из файла .env в массив $_ENV и глобальные переменные getenv(), что упрощает разделение конфигурации и кода. Создана по мотивам Ruby-библиотеки dotenv и широко используется в современных PHP-фреймворках (Laravel, Symfony).

Зачем нужна phpdotenv?

При разработке приложений часто требуется хранить чувствительные данные (пароли к БД, API-ключи) отдельно от кода. phpdotenv решает эту проблему: вы создаёте .env-файл, который не попадает в репозиторий (добавляется в .gitignore), а библиотека загружает его в окружение. Это обеспечивает безопасность, гибкость (разные настройки для dev/staging/prod) и соответствие принципу 12-factor app.

Установка phpdotenv

Установите библиотеку через Composer:

composer require vlucas/phpdotenv

Убедитесь, что у вас установлен Composer и PHP версии 7.1 или выше.

Основные функции

  • Загрузка .env-файла — парсинг ключ=значение с поддержкой комментариев (#) и пустых строк.
  • Обязательные переменные — проверка наличия необходимых ключей с помощью required().
  • Типизация — автоматическое преобразование строк в типы (boolean, integer, null).
  • Безопасность — экранирование спецсимволов, поддержка кавычек.
  • Иммутабельность — защита от перезаписи существующих переменных окружения.

Пример кода на PHP

require 'vendor/autoload.php';

use Dotenv\Dotenv;

// Загружаем .env из корневой директории
$dotenv = Dotenv::createImmutable(__DIR__);
$dotenv->load();

// Теперь переменные доступны через getenv()
$dbHost = getenv('DB_HOST');
$dbName = getenv('DB_NAME');

// Или через $_ENV
echo $_ENV['APP_ENV']; // 'local'

// Проверка обязательных переменных
$dotenv->required(['DB_HOST', 'DB_NAME']);

// Пример .env-файла:
// DB_HOST=localhost
// DB_NAME=test
// APP_ENV=local

Когда использовать phpdotenv

Библиотека идеальна для:

  • Веб-приложений на PHP (Laravel, Symfony, Slim).
  • CLI-скриптов и микросервисов.
  • Проектов, где требуется быстрая смена конфигурации без правки кода.
  • Командной разработки — каждый разработчик может иметь свой .env.
  • CI/CD пайплайнов — переменные задаются через окружение сервера, а не через файл.

Важно: Никогда не коммитьте .env-файл в репозиторий. Создайте .env.example с шаблоном для коллег.

Рекомендаций