【发布时间】:2016-03-21 02:46:13
【问题描述】:
在 PHP 中,可以使用 parse_ini_file() 读取 *.ini 文件。但是,各种框架(包括 Laravel)选择引入一个单独的库来解析环境文件。
使用这种“dotenv”解决方案而不是ini文件和内置PHP函数的原因是什么?
【问题讨论】:
在 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,选择灵活性对他们来说是可以理解的。
【讨论】: