配置 Symfony
为了跟上现代的需求,今天的框架和应用程序需要一个灵活的配置系统。Symfony 通过其强大的配置文件和环境概念很好地完成了这个角色。
默认的 Symfony 配置文件 config.yml
位于app/config/
目录下,(部分)内容划分如下:
像framework
、twig
、doctrine
和swiftmailer
这样的顶层条目定义了单个bundle的配置。
可以选择,配置文件可以是XML或PHP格式(config.xml
或config.php
)。虽然YAML简单易读,但XML功能更强大,而PHP功能强大但可读性较差。
我们可以使用控制台工具来转储整个配置,如图所示:
前面的例子列出了core FrameworkBundle
的配置文件。我们可以使用同样的命令来显示任何实现容器扩展的 bundle 的可能配置,这一点我们将在后面研究。
Symfony 有一个很好的环境概念的实现。在app/config
目录下,我们可以看到默认的 Symfony 项目实际上是以三种不同的环境开始的:
config_dev.yml
config_prod.yml
config_test.yml
每个应用程序可以在不同的环境中运行。每个环境共享相同的代码,但配置不同。开发环境可能会使用大量的日志,而prod环境可能会使用大量的缓存。
这些环境的触发方式是通过前台控制器文件,如下面的部分例子:
这里缺少测试环境,因为它只在运行自动测试时使用,不能直接通过浏览器访问。
app/AppKernel.php
文件是实际加载配置的文件,无论是YAML,XML,还是PHP,如下面的代码片段所示:
环境遵循同样的概念,而每个环境都会导入基础配置文件,然后修改其值以适应特定环境的需要。
最后更新于