Dotenv组件
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 3.4,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
Dotenv组件
Dotenv组件解析
.env
文件,使环境变量存储在他们通过_ENV美元
或$ _SERVER
。
3.3
Dotenv组件是在Symfony 3.3中引入的。ob娱乐下载
安装
1
美元作曲家需要symfony / doob娱乐下载tenv: ^ 3.4
请注意
如果你安装这个组件之外的Symfony应用程序,你必须要求ob娱乐下载供应商/ autoload.php
文件在你的代码,使作曲家提供的类加载机制。读这篇文章为更多的细节。
使用
敏感信息和依赖环境设置应该被定义为环境变量(如推荐twelve-factor应用程序)。使用一个.env
文件来存储这些环境变量简化了开发和CI管理通过一个“标准”的地方,不可知论者的技术堆栈使用(例如nginx vs PHP内置服务器)。
请注意
PHP有很多不同的实现这种“模式”。复制这个实现的目标是什么源.env
要做的事情。它试图尽可能相似的标准shell的行为(例如所以没有价值验证)。
加载一个.env
文件在您的PHP应用程序通过Dotenv:负载()
:
1 2 3 4 5 6 7
使用ob娱乐下载\组件\Dotenv\Dotenv;美元dotenv=新Dotenv ();美元dotenv- >负载(__DIR__。' / .env ');/ /还可以加载多个文件美元dotenv- >负载(__DIR__。' / .env ',__DIR__。' / .env.dev ');
鉴于以下.env
文件内容:
1 2 3
# .env根DB_PASS DB_USER = =
获得的价值_ENV美元
在你的代码:
1 2
美元dbus=美元_ENV(“DB_USER”];/ /还可以使用“$ _SERVER ' '
请注意
ob娱乐下载Symfony Dotenv不会覆盖现有的环境变量。
你不应该存储.env
文件在您的代码库中,因为它可能包含敏感信息;创建一个.env.dist
文件与合理的默认值。
请注意
ob娱乐下载Symfony Dotenv可用于任何应用程序的环境:开发、测试、上线试运行,甚至生产。然而,真正在生产它的推荐配置环境变量,以避免解析的性能开销.env
文件为每个请求。
作为一个.env
文件是一个普通的shell脚本,你可以源
它在自己的shell脚本:
1
源.env
通过加上前缀添加评论#
:
1 2 3
#数据库证书根DB_PASS DB_USER = =#这是密码
通过加前缀变量使用环境变量值美元
:
1 2
DB_USER根DB_PASS = =美元{DB_USER}通过#包括用户密码前缀
请注意
顺序很重要当一些env var取决于其他env增值的价值。在上面的例子中,DB_PASS
必须定义之后DB_USER
。此外,如果你定义多个.env
文件和把DB_PASS
首先,它的价值将取决于DB_USER
其他文件中定义的值,而不是在这个文件中定义的值。
通过嵌入命令$ ()
(不支持Windows上):
1
START_TIME = $(日期)
请注意
注意,使用$ ()
根据您的shell可能无法正常工作。