为什么使用 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 用于许多项目,选择灵活性对他们来说是可以理解的。
在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 用于许多项目,选择灵活性对他们来说是可以理解的。