Управление переменными среды в PHP
Имея богатый опыт работы с языками программирования, при использовании PHP я зачастую не нахожу уже привычных и подходящих средств, которые применял и применяю в других языках. Одним из таких случаев, является установка переменных окружения, в частности во время разработки. В NodeJS существует библиотека dotenv, которая отлично справляется со своими обязанностями. Но и PHP, конечно, не остался в стороне – в нем тоже есть похожая библиотека, называемая phpdotenv.
Управление переменными среды
Основная идея, которая стоит за механизмом управления переменными среды, заключается в том, что чтение переменных, требующихся для настройки окружения в PHP, происходит из локального текстового файла, а не из реальных переменных среды. Это облегчает настройку, так как для каждого проекта создается отдельный файл конфигурации, и нет необходимости заново экспортировать переменные среды. Дополнительное преимущество заключается в том, что при написании кода, который будут использовать другие разработчики, файлы конфигурации (.env ) обеспечивают простой и ясный список значений, для конфигурирования проекта.
Файл конфигурации .env
Обычно используются два файла:
- .env – это файл, откуда будут браться необходимые настройки. Обязательно добавьте имя файла в .gitignore, если пользуетесь системой контроля версий, чтобы при сохранении проекта в репозитории не сохранились бы какие-либо секретные настройки, вроде паролей, ключей авторизации и так далее.
- .env-example – этот файл содержит просто ключи, а не значения. Благодаря этому можно просто скопировав файл, добавить необходимые значения в требуемые ключи.
Примерное содержимое .env файла.
API_KEY=abc123
API_SECRET=abcdef0123456789
Значения в файле .env есть, теперь пора настроить PHP для работы с ним.
PHPdotenv
Для начала добавляем пакет phpdotenv в наш проект, используя Composer.
composer require vlucas/phpdotenv
Далее, например, в файле index.php можете добавить (сразу за "vendor/autoload.php"):
$dotenv = new Dotenv\Dotenv(__DIR__);
$dotenv->load();
После этого все переменные будут доступны, там, где их можно ожидать в PHP – в суперглобальном массиве $_ENV.
Использовать переменные среды в разработке так же просто, как использовать файлы конфигурации, но это больше похоже на то, как мы обычно настраиваем приложения в производственной среде. Переменные среды - это очень простой способ передачи контекста приложению - отсюда и название! Они буквально сообщают приложению о среде, в которой оно работает.
Надеюсь, вы найдете использование библиотеки phpdotenv полезным для собственных приложений.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.