Зачем использовать библиотеку 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 используется для многих проектов, и выбор гибкости понятен для них.

Другие вопросы по тегам