如何设置服务容器的外部参数
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 3.3,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
如何设置服务容器的外部参数
在文章中配置Symfony(和环ob娱乐下载境),您了解了如何管理应用程序配置。有时,在项目代码之外存储某些凭据可能对应用程序有利。数据库配置就是这样一个例子。Symfony服务容器的灵活性使您可以轻松地做ob娱乐下载到这一点。
环境变量
3.2
env ()
参数在Symfony 3.2中引入。ob娱乐下载
您可以使用特殊的参数引用环境变量,这些参数以您想要使用的变量命名env ()
.它们的实际值将在运行时解析(每个请求一次),因此即使在编译之后,转储容器也可以动态地重新配置。
例如,如果要使用的值DATABASE_HOST
服务容器配置中的环境变量,您可以使用% env (DATABASE_HOST) %
在你的配置文件中:
- YAML
- XML
- PHP
1 2 3 4
# app / config / config.yml原则:dbal:主持人:' % env (DATABASE_HOST) %
你也可以给env ()
参数默认值:当对应的环境变量为时,将使用默认值不发现:
- YAML
- XML
- PHP
1 2 3 4
# app / config / parameters.yml参数:database_host:' % env (DATABASE_HOST) %env (DATABASE_HOST):本地主机
设置环境变量通常在web服务器级别或在终端中完成。如果你正在使用Apache, Nginx或只是控制台,你可以使用以下其中之一:
- Apache
- Nginx
- Bash
1 2 3 4 5 6
< VirtualHost *: 80 >#……SetEnvDATABASE_USER用户SetEnvDATABASE_PASSWORD秘密< /虚拟主机>
提示
3.3
特别的支持ob娱乐下载SYMFONY__
环境变量在Symfony 3.3中已弃用,将在4.0中被移除。ob娱乐下载方法来定义常规环境变量并获取它们的值,而不是使用这些变量% env(…)%
配置文件中的语法。
还可以使用特殊的环境变量定义任何现有参数的默认值,这些变量以对应的参数命名,并以前缀命名ob娱乐下载SYMFONY__
用双下划线替换点后(例如。ob娱乐下载SYMFONY__KERNEL__CHARSET
属性的默认值kernel.charset
参数)。这些默认值是在编译服务容器时解析的,转储后不会在运行时更改。
其他配置
的进口
指令可用于拉入存储在其他地方的参数。导入PHP文件使您可以灵活地在容器中添加所需的任何内容。下面导入一个名为parameters.php
.
- YAML
- XML
- PHP
1 2 3
# app / config / config.yml进口:-{资源:parameters.php}
请注意
资源文件可以是多种类型中的一种。PHP、XML、YAML、INI和闭包资源都由进口
指令。
在parameters.php
,告诉服务容器您希望设置的参数。当重要配置采用非标准格式时,这非常有用。下面的示例包括Symfony服务容器中的Drupal数据库配置。ob娱乐下载
1 2 3
/ / app / config / parameters.phpinclude_once(' /道路/ / drupal /网站/违约/ settings.php”);$容器->setParameter (“drupal.database.url”,$db_url);