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在这种情况下)。

整个文档,所有配置示例将显示在欧宝官网下载app三种格式(YAML、XML和PHP)。使用YAML默认情况下,但是你可以选择任何你喜欢的最好的。没有性能差异:

  • YAML格式:简单、清洁和可读;
  • XML:有时更强大的比YAML &支持IDE自动完成;
  • PHP读:非常强大,但低于标准配置格式。

配置参考&倾销

两个如何知道什么键你可以配置:

  1. 使用参考部分;
  2. 使用配置: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环境未察觉。在部署之后,您将使用刺激环境。

更多地了解如何执行和控制每个环境,明白了如何把握和创造新的环境

继续前进!

恭喜你!你解决Symfony的基础。ob娱乐下载接下来,了解每一个Symfony分ob娱乐下载别按照指南的一部分。查看:

和许多其他的主题。

这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。