php优势 文档,与.php文件相比,在.env文件上存储信息有什么优势?

标签:php

考虑到最佳做法建议,将设置信息存储在文档根文件夹之外的.env文件中…与.php文件相比,使用.env文件有什么好处?

.env文件将由库解析并存储在ENV变量中.

.php文件不需要解析,并将存储有关ENV变量的信息.

谢谢!

解决方法:

在开发时,您将具有一组在本地环境或正在开发的其他环境上配置的密钥.您不希望与与您一起工作的其他开发人员共享这些密钥(数据库密码,电子邮件服务等).如果您与世界共享代码,也不会.

创建.env文件是为了使您拥有一个工作环境而不必与世界或团队其他成员共享这些密钥.他们应该对项目解决的环境是唯一的.

当您创建将在整个项目中使用的密钥时,除了将它们添加到.env文件中之外,您还应该将它们添加到已推送到存储库的.env.example中.将密钥保留在那里,同时将.env.example的值保留为空,以便其他开发人员理解该项目才能正常工作所需的密钥,以及他们应该在其中添加的内容,而不会提示您本地密码是什么.

同样,当您在本地环境中工作时,通常会使用本地密码.当您部署到将存在包含敏感信息的真实密码的生产服务器时,会出现问题.因此,您不希望它们存在于存储库中,并且绝对不希望它们永久存储在存储库中(这是专业责任,特别是当您被标记为开发人员而不是系统管理员时)项目在生产环境中部署后,系统管理员将在其中添加密钥).

这是绕过上述问题的一种优雅方法

在评论中回答您的第二个问题

老实说,如果您最终遵循我上面的解释,则可以同时使用两种方法.主要目标是保护变量.但是您可以拒绝将php文件推送回购.

我认为为什么要使用.env而不是.php如下:

1.使用.env,您会立即知道它是环境变量的所有者. .php无论您如何命名,在理解上都不那么直接;

2. .env在列出目录时将是一个神秘文件;

3.在同一个仓库中与其他开发人员合作时,更容易快速识别并理解不应在该提交上执行的操作(即使在钩子上添加额外的安全层以确保.env是安全的,也请考虑一下)更加困难,您必须对.php文件进行硬编码);

我想在您的论证层面上,这将是决定文件之间的一些“去往”事项.我将.php文件准确地保留为php编程文件而不是configs.

现在,如果您在.env或.yml等之间问我,我想说的是与您熟悉/感觉舒适的人一起去.最后,您避免使用.php相同的东西:)

PS:另外,如果您考虑何时需要一个环境变量,就如何在代码中引用它们,当您看到类似以下内容时,它会跳得更快:

getenv('YOUR_VARIABLE_HERE');

标签:php

来源: https://codeday.me/bug/20191024/1924163.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值