Зачем использовать библиотеку dotenv вместо анализа INI-файла?
В PHP файлы *.ini можно прочитать с помощью parse_ini_file()
, Однако различные фреймворки (включая Laravel) предпочитают вместо этого использовать отдельную библиотеку для анализа файла среды.
В чем причина использования этого решения "dotenv" вместо файлов ini и встроенной функции PHP?
3 ответа
Это хороший вопрос. Я нашел несколько упоминаний на php.net (поиск по ключевому слову parse_ini_file
). Основная проблема, я полагаю, заключается в том, что parse_ini_file
не поддерживает некоторые функции, такие как константы, выражения и т. д. Также, я думаю, некоторые разработчики хотели бы выполнять такие операции в стиле ООП.
Это сработало для меня, используя Laravel .env
<?php
var_dump(parse_ini_file('.env', false, INI_SCANNER_RAW));
Мы можем получить доступ к переменным.env разными способами, но это не выгодно для отдельного проекта. Лучше использовать единый способ доступа к этим переменным по всему проекту в любом случае. Тем не менее, Laravel используется для многих проектов, и выбор гибкости понятен для них.