为啥使用 dotenv 库而不是解析 ini 文件?
Posted
技术标签:
【中文标题】为啥使用 dotenv 库而不是解析 ini 文件?【英文标题】:Why use dotenv library instead of parsing ini file?为什么使用 dotenv 库而不是解析 ini 文件? 【发布时间】:2016-03-21 02:46:13 【问题描述】:在 php 中,可以使用 parse_ini_file()
读取 *.ini 文件。但是,各种框架(包括 Laravel)选择引入一个单独的库来解析环境文件。
使用这种“dotenv”解决方案而不是ini文件和内置PHP函数的原因是什么?
【问题讨论】:
【参考方案1】:这是个好问题。我在php.net 上发现了一些提及(按关键字parse_ini_file
搜索)。我想主要的问题是parse_ini_file
不支持某些功能,例如常量、表达式等。另外,我猜有些开发人员希望以 OOP 风格执行此类操作。
【讨论】:
我真的很感谢你!另外,ini解析器有一些缺点,但是有很多优点,对吧?所以,我还是明白为什么dotenv了,呵呵。 :)【参考方案2】:使用 Laravel .env 对我有用
<?php
var_dump(parse_ini_file('.env', false, INI_SCANNER_RAW));
【讨论】:
你到底想说什么? 谢谢,试过了,这会将 .env 文件放入 PHP 数组以供访问 正是我想要的。谢谢:)【参考方案3】:我们可以通过多种方式访问 .env 变量,但这对单个项目没有好处。最好使用统一的方式在整个项目中以任何方式访问这些变量。但是,很多项目都使用 laravel,选择灵活性对他们来说是可以理解的。
【讨论】:
以上是关于为啥使用 dotenv 库而不是解析 ini 文件?的主要内容,如果未能解决你的问题,请参考以下文章
使用音频单元(混音器主机)从 iPod 库而不是预先选择的声音文件中播放。