Symfony的配置(和欧宝娱乐app下载地址环境)
编辑该页面警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 3.4,不再维护。
读这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。
Symfony的配置(和欧宝娱乐app下载地址环境)
每一个Sym欧宝娱乐app下载地址fony应用程序由一组包添加有用的工具(服务你的项目。每个包可以通过配置文件定制-默认的生活应用程序/配置
目录中。
配置:config.yml
主要的配置文件config.yml
:
- YAML
- XML
- PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
# app / config / config.yml进口:- - - - - -{资源:parameters.yml}- - - - - -{资源:security.yml}- - - - - -{资源:services.yml}框架:秘密:“% %的秘密”路由器:{资源:' % kernel.project_dir % / app / config / routing.yml '}#……#树枝配置枝:调试:“% kernel.debug %”strict_variables:“% kernel.debug %”#……
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29
< !- - - - - -- - - - - -应用程序/配置/config.xml -->< /span>< ?xml version = " 1.0 " encoding = " utf - 8 " ? ><容器xmlns=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services”xmlns: xsi=“http://www.w3.org/2001/XMLSchema-instance”xmlns:框架=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/symfony”xmlns:树枝=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/twig”xsi: schemaLocation=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services //www.oldmanjams.com/schema/dic/services/services-1.0.xsd //www.oldmanjams.com/schema/dic/symfony //www.oldmanjams.com/schema/dic/symfony/symfony-1.0.xsd //www.oldmanjams.com/schema/dic/twig //www.oldmanjams.com/schema/dic/twig/twig-1.0.xsd”><进口><进口资源=“parameters.yml”/ ><进口资源=“security.yml”/ ><进口资源=“services.yml”/ >< /进口><框架:配置秘密=“% %”秘密><框架:路由器资源=“% kernel.project_dir % / app / config /利用”/ >< !- - - - - -- - - - - -。。。- - >< /框架:配置>< !- - - - - -- - - - - -嫩枝Configuration -->< /span><枝:配置调试=“% kernel.debug %”strict-variables=“% kernel.debug %”/ >< !- - - - - -- - - - - -。。。- - >< /容器>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
/ / app / config / config . php美元这- >导入(“parameters.yml”);美元这- >导入(“security.yml”);美元这- >导入(“services.yml”);美元容器- >loadFromExtension (“框架”,(“秘密”= >“% %的秘密”,“路由器”= > [“资源”= >' % kernel.project_dir % / app / config / routing.php '),/ /……]);/ /树枝配置美元容器- >loadFromExtension (“树枝”,(“调试”= >“% kernel.debug %”,“strict_variables”= >“% kernel.debug %”]);/ /……
最顶级的钥匙——就像框架
和嫩枝
——配置为一个特定的包(即。FrameworkBundle
和TwigBundle
)。
配置格式
整个文档,所有配置示例将显示在欧宝体育电话三种格式(YAML、XML和PHP)。使用YAML默认情况下,但是你可以选择任何你喜欢的最好的。没有性能差异:
- YAML格式:简单、清洁和可读;
- XML:有时更强大的比YAML &支持IDE自动完成;
- PHP读:非常强大,但低于标准配置格式。
配置参考&倾销
有两个如何知道什么键你可以配置:
- 使用参考部分;
- 使用
配置:dump-reference
命令。
例如,如果您想要配置一些树枝,你可以看到一个例子转储所有可用的配置选项的运行:
1
美元php bin /控制台配置:dump-reference树枝
进口关键:加载其他配置文件
欧宝娱乐app下载地址Symfony的主要配置文件应用程序/配置/ config.yml
。但是,对于组织来说,也通过加载其他配置文件进口
关键:
- YAML
- XML
- PHP
1 2 3 4 5 6
# app / config / config.yml进口:- - - - - -{资源:parameters.yml}- - - - - -{资源:security.yml}- - - - - -{资源:services.yml}#……
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
< !- - - - - -- - - - - -应用程序/配置/config.xml -->< /span>< ?xml version = " 1.0 " encoding = " utf - 8 " ? ><容器xmlns=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services”xmlns: xsi=“http://www.w3.org/2001/XMLSchema-instance”xsi: schemaLocation=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services //www.oldmanjams.com/schema/dic/services/services-1.0.xsd”><进口><进口资源=“parameters.yml”/ ><进口资源=“security.yml”/ ><进口资源=“services.yml”/ >< /进口>< !- - - - - -- - - - - -。。。- - >< /容器>
1 2 3 4 5 6
/ / app / config / config . php美元这- >导入(“parameters.yml”);美元这- >导入(“security.yml”);美元这- >导入(“services.yml”);/ /……
的进口
关键的工作很像PHP包括()
功能:的内容parameters.yml
,security.yml
和services.yml
读取和加载。你也可以加载XML文件或PHP文件。
提示
如果您的应用程序使用的文件扩展名(例如,您的YAML文件有一个r
扩展)可以设置文件类型显式的类型
选择:
- YAML
- XML
- PHP
1 2 3 4
# app / config / config.yml进口:- - - - - -{资源:parameters.res,类型:yml}#……
1 2 3 4 5 6 7 8 9 10 11 12
< !- - - - - -- - - - - -应用程序/配置/config.xml -->< /span>< ?xml version = " 1.0 " encoding = " utf - 8 " ? ><容器xmlns=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services”xmlns: xsi=“http://www.w3.org/2001/XMLSchema-instance”xsi: schemaLocation=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services //www.oldmanjams.com/schema/dic/services/services-1.0.xsd”><进口><进口资源=“parameters.res”类型=“yml”/ >< !- - - - - -- - - - - -。。。- - >< /进口>< /容器>
1 2 3
/ / app / config / config . php美元这- >导入(“parameters.res”,“yml”);/ /……
关键参数:参数(变量)
另一个特殊的关键参数
用于定义变量中引用任何其他配置文件。例如,在config.yml
,一个语言环境
参数定义,然后下面的引用框架
关键:
- YAML
- XML
- PHP
1 2 3 4 5 6 7 8 9 10 11 12 13
# app / config / config.yml#……参数:地区:在框架:#……#任何字符串包围两个%被参数值default_locale:“%地区%”#……
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
< !- - - - - -- - - - - -应用程序/配置/config.xml -->< /span>< ?xml version = " 1.0 " encoding = " utf - 8 " ? ><容器xmlns=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services”xmlns: xsi=“http://www.w3.org/2001/XMLSchema-instance”xmlns:框架=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/symfony”xsi: schemaLocation=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services //www.oldmanjams.com/schema/dic/services/services-1.0.xsd //www.oldmanjams.com/schema/dic/symfony //www.oldmanjams.com/schema/dic/symfony/symfony-1.0.xsd”>< !- - - - - -- - - - - -。。。- - ><参数><参数关键=“场所”>在< /参数>< /参数><框架:配置缺省语言环境=“%地区%”>< !- - - - - -- - - - - -。。。- - >< /框架:配置>< !- - - - - -- - - - - -。。。- - >< /容器>
1 2 3 4 5 6 7 8 9 10 11
/ / app / config / config . php/ /……美元容器- >setParameter (“场所”,“en”);美元容器- >loadFromExtension (“框架”,(“default_locale”= >“%地区%”,/ /……]);/ /……
您可以定义任何你想要的参数名称下参数
主要的配置文件。引用一个参数,环绕它的名字为百分之二——如迹象。%地区%
。
另请参阅
你也可以动态地设置参数,从环境变量。看到服务容器外部参数如何设置。
关于参数的更多信息,包括如何从内部控制器——看到引用它们服务容器。
特殊的parameters.yml
文件
从表面上看,parameters.yml
就像任何其他配置文件:这是进口的吗config.yml
并定义了几个参数:
1 2 3 4
参数:#……database_user:根database_password:~
毫不奇怪,这些都是内部的引用config.yml
和帮助Symfony的配置DoctrineBundle和其他地区:欧宝娱乐app下载地址
- YAML
- XML
- PHP
1 2 3 4 5 6 7
# app / config / config.yml原则:dbal:司机:pdo_mysql#……用户:“% database_user %”密码:“% database_password %”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
< !- - - - - -- - - - - -应用程序/配置/config.xml -->< /span>< ?xml version = " 1.0 " encoding = " utf - 8 " ? ><容器xmlns=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services”xmlns: xsi=“http://www.w3.org/2001/XMLSchema-instance”xmlns:原则=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/doctrine”xsi: schemaLocation=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services //www.oldmanjams.com/schema/dic/services/services-1.0.xsd //www.oldmanjams.com/schema/dic/doctrine //www.oldmanjams.com/schema/dic/doctrine/doctrine-1.0.xsd”><原则:配置><原则:dbal司机=“pdo_mysql”用户=“% database_user %”密码=“% database_password %”/ >< /原则:配置>< /容器>
1 2 3 4 5 6 7 8 9 10
/ / app / config / config . php美元容器- >loadFromExtension (“原则”,(“dbal”= > [“司机”= >“pdo_mysql”,/ /……“用户”= >“% database_user %”,“密码”= >“% database_password %”、]]);
但是,parameters.yml
文件是特殊:它定义的值通常改变在每个服务器上。例如,数据库证书本地开发机器上可能不同于你的同事。这就是为什么这个文件不是致力于共享库,只存储在您的机器上。
正因为如此,parameters.yml是not committed to your version control< /strong>。事实上,.gitignore
文件带有Symfony防止它被提交。欧宝娱乐app下载地址
然而,一个parameters.yml.dist
文件是(空值)。这个文件不是由Symfony阅读:这只是一个参考欧宝娱乐app下载地址,以便Symfony知道哪些参数需要定义的parameters.yml
文件。如果您添加或删除键parameters.yml
,添加或删除它们parameters.yml.dist
所以两个文件总是同步的。
交互式参数处理程序
当你安装一个现有Symfony项目欧宝娱乐app下载地址,你将需要创建parameters.yml
使用提交的文件parameters.yml.dist
文件作为参考。为了帮助实现这一目的,在你运行作曲家安装
,Sym欧宝娱乐app下载地址fony脚本将自动创建这个文件通过交互式地要求你供应中定义的每个参数的值parameters.yml.dist
。更多细节,或者消除或控制这种行为——看到Incenteev参数处理程序欧宝体育电话文档。
环境和其他配置文件
你刚刚一个应用程序,但你是否意识到这一点,你需要的行为不同的在不同的时间:
- 而发展中,你想让你的应用程序日志和公开好调试工具;
- 部署后生产你想要的,相同应用优化的速度和原木的错误。
你怎么舍得一个应用程序在两个不同的行为方式?与环境。
你可能已经被使用dev
环境未察觉。在部署之后,您将使用刺激
环境。
更多地了解如何执行和控制每个环境,明白了如何把握和创造新的环境。