新在Symfoob娱乐下载ny 3.3: Dotenv组件
2017年1月13日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony的版本。ob娱乐下载其中一些信息可能是过时了。阅读最近的Symfony文档ob娱乐下载。
一个常见的做法在开发应用程序来存储一些配置选项在一个环境变量.env
文件(发音“dot-env”)。你已经可以在Symfony应用程序中使用这种技术,但在Symfony 3.3ob娱乐下载我们已经决定让它由于一个内置的特性新的Dotenv组件。
在实践中,解析的Dotenv组件.env
文件,使环境变量存储在他们在您的应用程序通过访问getenv ()
,_ENV美元
或$ _SERVER
。如果你的.env
文件包含这些变量:
1 2
根DB_PASS DB_USER = =
下面的代码将解析它们,把它们变成环境变量:
1 2 3
使用ob娱乐下载\组件\Dotenv\Dotenv;(新Dotenv ())- >负载(__DIR__。' / .env ');
现在您可以在您的应用程序的数据库密码如下:
1
美元dbPassword= getenv (“DB_PASS”);
除了加载变量,您可以解析它们,因为组件定义了三个阶段:加载、解析和填充。
创建一个新组件之前,我们回顾了现有的库,提供类似的功能,但是没有一个匹配的特定要求:
- 变量不应以任何方式验证(因为真正的环境变量字符串只能和你无法验证)。
- 组件提供了一个严格执行你能做什么在一个真正的bash shell脚本而已:
$ VAR
和$ {VAR}
支持,您可以连接字符串,执行命令并将结果存储在一个变量,等等。 - 的错误消息很容易发现任何问题。
- 清洁和最小的API,没有不必要的抽象像能够直接添加一个环境变量(只使用
putenv ()
)。
发表在#生活在边缘
评论
你好,谢谢你从这个有用的组件。我期待着使用它,这可能是一个最佳实践(替换参数。与环境变量yml文件)。
你写的“你可以已经在Symfony应用程序中使用这种技术”,但我还没找到任何关于使用.env文件的ob娱乐下载可能性在官方文档或博客。欧宝官网下载app
你写的“你可以已经在Symfony应用程序中使用这种技术”,但我还没找到任何关于使用.env文件的ob娱乐下载可能性在官方文档或博客。欧宝官网下载app
在Symfony @Cristi我意味着什么阻止你使用一个现有的ob娱乐下载库加载.env文件和配置文件中使用这些值(% env() %语法)。但它不会是一个无缝的体验这个新组件所提供的。
@Sam我解释一些原因相关公关。我开始着手修补vlucas包,但是我固定的东西越多,越多我的代码是不同的。在某种程度上,这种方法完全不同,试图改变vlucas的代码没有意义了。
Sebastiaan Stok is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now采用“内核美元= new AppKernel SYMFONY_ENob娱乐下载V) ?:“刺激”,采用(SYMFONY_DEBUG) ?: false);”