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