В чем разница между файлами .env и .ini? какой из них лучше?

Я новичок в PHP, я обнаружил, что у Laravel есть файл .env для сохранения некоторых конфигураций, а в php также есть файл формата .ini для сохранения конфигурации.

Я хочу спросить, в чем отличие обоих, одно лучше другого? Должен ли я добавить dotenv в свои основные проекты или я должен создать класс / функцию для доступа к .ini для моих переменных config / environment.

я хочу понять, почему создается dotenv, так как у нас уже была система расширения файлов ini в php?

2

Решение

.env позволяет загрузить конфигурацию в системную среду. Прямая загрузка INI-файлов не делает этого, если вы не свернули свое собственное решение, используя putenv или аналогичный для всех значений конфигурации. В противном случае вы можете подойти к любому желанию.

0

Другие решения

Согласно документам на https://github.com/vlucas/phpdotenv

Почему .env?

Вы никогда не должны хранить конфиденциальные учетные данные в вашем коде. Хранение конфигурации в среде является одним из принципов приложения из двенадцати факторов. Все, что может измениться между средами развертывания — например, учетные данные базы данных или учетные данные для сторонних служб — должно быть извлечено из кода в переменные среды.

По сути, файл .env — это простой способ загрузки пользовательских переменных конфигурации, которые нужны вашему приложению, без необходимости изменять файлы .htaccess или виртуальные хосты Apache / nginx. Это означает, что вам не нужно редактировать какие-либо файлы за пределами проекта, и все переменные среды всегда устанавливаются независимо от того, как вы запускаете проект — Apache, Nginx, CLI и даже встроенный веб-сервер PHP 5.4. Это намного проще, чем все другие способы установки переменных окружения, и вам это понравится.

НЕТ редактирования виртуальных хостов в Apache или Nginx

НЕТ добавления флагов php_value в файлы .htaccess

ЛЕГКАЯ портативность и совместное использование требуемых значений ENV

СОВМЕСТИМО со встроенным веб-сервером PHP и CLI Runner

Кроме того, есть некоторые расширенные функциональные возможности в .env файле Laravel. Например, вы можете ссылаться на другие переменные в файле .env.

[email protected]
MAIL_FROM_ADDRESS=${MAIL_USERNAME}
-1

По вопросам рекламы [email protected]