TGViewer
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter @phpproglib · 10.5K subscribers
Post #6098 2.2K
🧠 PHP-лайфхак: Используйте .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, заполняет свои значения.
Повышает безопасность: не храните пароли и ключи прямо в коде.
Делает архитектуру конфигурации более модульной и переносимой.

Библиотека пхпшника
  • ❤ 3
  • 👍 1
More from @phpproglib
  1. Sep 24, 2026👍 5 способов встроить AI в Laravel Laravel AI SDK позволяет добавлять AI-функции прямо в…
  2. Sep 23, 2026🛠 Symfony 8.2 научился автоматически генерировать JSON Schema для конфигурации приложения…
  3. Sep 23, 2026🚀 Свежий релиз Laravel 13 с набором улучшений и исправлений ✅ добавлена поддержка valkey:…
  4. Sep 21, 2026⚡️ PHP 8.6 выйдет 19 ноября 2026 года. Сейчас версия находится в beta. Самые заметные изме…
  5. Sep 20, 2026❓ Какие существуют проблемы в многопоточной среде? Основные проблемы многопоточности: 1️⃣…
  6. Sep 19, 2026🌞 В Symfony 8.2 появилось 29 новых Bundle — теперь компоненты вроде Mailer, Messenger и C…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →