为什么使用 dotenv 库而不是解析 ini 文件?

Why use dotenv library instead of parsing ini file?

在PHP内,可以使用parse_ini_file()读取*.ini文件。但是,各种框架(包括 Laravel)选择引入单独的库来解析环境文件。

使用这个 "dotenv" 解决方案而不是 ini 文件和内置 PHP 函数的原因是什么?

这是个好问题。我在 php.net 上发现了一些提及(按关键字 parse_ini_file 搜索)。我想,主要问题是 parse_ini_file 不支持某些功能,例如常量、表达式等。此外,我猜想,一些开发人员希望以 OOP 样式执行此类操作。

它对我有用 Laravel .env

<?php
var_dump(parse_ini_file('.env', false, INI_SCANNER_RAW));

我们可以通过多种方式访问​​ .env 变量,但这对单个项目来说并不是一个好处。最好使用统一的方式在整个项目中以任何方式访问这些变量。但是,laravel 用于许多项目,选择灵活性对他们来说是可以理解的。