我是一个PHP初学者,我发现Laravel有。env文件来保存一些配置,PHP也有。ini文件格式来保存配置。
我想问两者的区别是什么,是一个比另一个好。我是否应该在我的核心项目中也添加dotenv,或者我是否应该创建类/函数来访问我的配置/环境变量的。ini。
我想了解为什么dotenv被创建,因为我们已经有ini文件扩展系统在php?
我认为有太多的聪明人无事可做。我将使用parse_ini_file()
和*.ini
文件。
.env
允许将配置加载到系统环境中。直接加载INI文件不能做到这一点,除非您对所有配置值使用putenv
或类似的解决方案。
根据https://github.com/vlucas/phpdotenv
的文档为什么.env ?
永远不要在代码中存储敏感凭据。在环境中存储配置是十二因素应用程序的原则之一。任何可能在部署环境之间改变的东西——比如数据库凭证或第三方服务的凭证——都应该从代码中提取到环境变量中。
基本上,一个。env文件是一个简单的方法来加载自定义配置变量,你的应用程序需要,而不必修改。htaccess文件或Apache/nginx虚拟主机。这意味着你不需要在项目外部编辑任何文件,并且无论你如何运行你的项目——Apache, Nginx, CLI,甚至PHP 5.4的内置web服务器,所有的环境变量都是设置好的。它比你所知道的其他设置环境变量的方法要简单得多,你一定会喜欢它的。
禁止在Apache或Nginx中编辑虚拟主机
不添加php_value标志到。htaccess文件
易于移植和共享所需的ENV值
与PHP的内置web服务器和CLI运行器兼容
另外,Laravel的。env文件有一些扩展功能。例如,可以在.env文件中引用其他变量。
MAIL_USERNAME=admin@server.com
MAIL_FROM_ADDRESS=${MAIL_USERNAME}