Symfony的配置(和ob娱乐下载环境)
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 4.1,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
Symfony的配置(和ob娱乐下载环境)
ob娱乐下载Symfony应用程序可以安装第三方包(包、图书馆等)引入新特性(服务你的项目。每个包可以通过配置文件定制-默认的生活配置/
目录中。
配置:配置/包/
每个包的配置中可以找到配置/包/
。例如,包中配置框架配置/包/ framework.yaml
:
- YAML
- XML
- PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#配置/包/ framework.yaml框架:秘密:' % env (APP_SECRET) %# default_locale:嗯# csrf_protection:真# http_method_override:真#允许会话的支持。注意,会议才会开始如果你读或写。#删除或注释本节明确禁用会话的支持。会话:handler_id:~# esi:真#片段:真php_errors:日志:真正的
顶级键(在这里框架
)引用配置为一个特定的包(FrameworkBundle在这种情况下)。
配置参考&倾销
有两个如何知道什么键你可以配置:
- 使用参考部分;
- 使用
配置:dump-reference
命令。
例如,如果您想要配置一些相关框架包,你可以看到一个例子转储所有可用的配置选项的运行:
1
美元php bin /控制台配置:dump-reference框架
关键参数:参数(变量)
有一些特殊的顶级键的配置。其中一个叫做参数
用于定义变量中引用任何其他配置文件。例如,当您安装翻译包,一个语言环境
参数被添加到配置/ services.yaml
:
- YAML
- XML
- PHP
1 2 3 4 5
#配置/ services.yaml参数:地区:在#……
这个参数是在框架配置引用配置/包/ translation.yaml
:
- YAML
- XML
- PHP
1 2 3 4 5 6
#配置/包/ translation.yaml框架:#任何字符串包围两个%被参数值default_locale:“%地区%”#……
您可以定义任何你想要的参数名称下参数
主要的配置文件。引用一个参数,环绕它的名字为百分之二——如迹象。%地区%
。
另请参阅
你也可以动态地设置参数,从环境变量。看到服务容器外部参数如何设置。
关于参数的更多信息,包括如何从内部控制器——看到引用它们服务容器。
.env文件&环境变量
还有一个.env
加载文件及其内容成为环境变量。这是非常有用的在开发期间,或者为您的部署设置环境变量是困难的。
安装包时,越来越多的环境变量添加到这个文件中。但是你也可以添加自己的。
环境变量可以引用在任何其他配置文件通过一个特殊的语法。例如,如果你安装学说
包,那么你将有一个环境变量DATABASE_URL
在你的.env
文件。这是引用内部配置/包/ doctrine.yaml
:
1 2 3 4 5 6 7
#配置/包/ doctrine.yaml原则:dbal:url:' % env (DATABASE_URL) %#“解决:”前缀取代容器参数的值在env变量:# url: ' % env(解决:DATABASE_URL) % '
关于环境变量的更多细节,请参阅服务容器外部参数如何设置。
谨慎
应用程序创建在2018年11月之前有一个稍微不同的系统,包括一个.env.dist
文件。升级信息,请参阅:2018年11月.env &如何更新变化。
的.env
文件是特殊的,因为它通常定义的值变化对每个服务器。例如,数据库证书本地开发机器上可能不同于你的同事。的.env
文件应该包含合理的,非机密的默认的你所有的环境变量和值应该继续您的存储库。
与特定机器的或敏感的值覆盖这些变量,创建一个.env.local
文件。这个文件是没有提交到共享库中并且只存储在您的机器上。事实上,.gitignore
文件带有Symfony防止它被提交。ob娱乐下载
您还可以创建其他一些.env
文件将被加载:
.env。{环境}
:例如.env.test
将被加载测试
环境,致力于您的存储库。.env。}{环境。local
:例如.env.prod.local
将被加载刺激
环境,但将不致力于您的存储库。
如果你决定实际生产、环境变量.env
文件是仍然加载,但你真正的环境变量将会覆盖这些值。
环境和其他配置文件
你刚刚一个应用程序,但你是否意识到这一点,你需要的行为不同的在不同的时间:
- 而发展中,你想让你的应用程序日志和公开好调试工具;
- 部署后生产你想要的,相同应用优化的速度和原木的错误。
你怎么舍得一个应用程序在两个不同的行为方式?与环境。
你可能已经被使用dev
环境未察觉。在部署之后,您将使用刺激
环境。
更多地了解如何执行和控制每个环境,明白了如何把握和创造新的环境。