配置Symfony(和环欧宝娱乐app下载地址境)
编辑本页警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 3.3,现已不再维护。
读本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。
配置Symfony(和环欧宝娱乐app下载地址境)
每个Symf欧宝娱乐app下载地址ony应用程序都由一组包组成,这些包添加了有用的工具(服务)到你的项目。每个包都可以通过配置文件(默认情况下)进行定制应用程序/配置
目录中。
配置:config.yml
主配置文件被调用config.yml
:
- YAML
- XML
- PHP
12 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 %”#……
大多数顶级密钥框架
而且嫩枝
-是特定bundle的配置。FrameworkBundle
而且TwigBundle
).
配置参考和转储
有两个了解方法什么可配置的键:
- 使用参考部分;
- 使用
配置:dump-reference
命令。
例如,如果你想在Twig中配置一些东西,你可以通过运行以下命令查看所有可用配置选项的示例转储:
1
$PHP bin/console配置:dump-reference
导入键:加载其他配置文件
欧宝娱乐app下载地址Symfony的主要配置文件是应用程序/配置/ config.yml
.但是,对于组织来说也通过its加载其他配置文件进口
关键:
- YAML
- XML
- PHP
1 2 3 4 5 6
# app / config / config.yml进口:-{资源:parameters.yml}-{资源:security.yml}-{资源:services.yml}#……
的进口
key的工作原理与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}#……
关键字:参数(变量)
另一个特殊的键被称为参数
:用来定义变量可以引用任何其他配置文件。例如,在config.yml
,一个语言环境
参数定义,然后在下面的框架
关键:
- YAML
- XML
- PHP
12 3 4 5 6 7 8 9 10 11 12 13
# app / config / config.yml#……参数:地区:在框架:#……#任何包含两个%的字符串将被该参数值替换default_locale:“%地区%”#……
类下定义任何参数名称参数
任意配置文件的密钥。要引用一个参数,在它的名称周围加上两个百分号。%地区%
.
另请参阅
您还可以动态地设置参数,比如从环境变量中设置参数。看到如何设置服务容器的外部参数.
有关参数的更多信息(包括如何从控制器内部引用它们),请参见服务容器.
特殊参数。yml文件
表面上看,parameters.yml
就像任何其他配置文件一样:它由config.yml
并定义了几个参数:
1 2 3 4
参数:#……database_user:根database_password:~
毫不奇怪,这些都是在config.yml
并帮助配置DoctrineBundle和Symfony的其他部分:欧宝娱乐app下载地址
- YAML
- XML
- PHP
1 2 3 4 5 6 7
# app / config / config.yml原则:dbal:司机:pdo_mysql#……用户:“% database_user %”密码:“% database_password %”
但是,parameters.yml
文件是特殊:它定义了通常在每个服务器上更改的值。例如,本地开发机器上的数据库凭据可能与您的同事不同。这就是为什么这个文件没有提交到共享存储库,而只是存储在您的计算机上。
正因为如此,parameters.yml是not committed to your version control.事实上,.gitignore
Symfony附带的文件可以阻止提交。欧宝娱乐app下载地址
然而,一个parameters.yml.dist
文件是已提交(使用虚拟值)。Symfony不会读取此文件:它只是一个引用,以欧宝娱乐app下载地址便Symfony知道需要在parameters.yml
文件。添加或删除的键parameters.yml
,添加或删除它们parameters.yml.dist
所以两个文件总是同步的。
环境和其他配置文件
你只需要一个应用程序,但无论你是否意识到,你需要它的行为不同的在不同的时间:
- 而发展中,你希望你的应用程序记录一切,并公开良好的调试工具;
- 部署到生产你想要那个相同应用程序将优化的速度和只有日志错误。
你怎么做一个应用程序以两种不同的方式运行?与环境.
你可能已经用过了dev
甚至不知道它的环境。部署之后,您将使用刺激
环境。
了解更多如何要执行和控制每个环境,请参见如何掌握和创造新环境.