更改 Symfony2 项目的默认配置文件

Change default configuration file of Symfony2 project

上下文

我有一个简单的 Symfony2 项目(只有命令行命令)。该项目包含一个 app/config.yml 文件,其中包含用于创建依赖项注入的信息。

例如,app/config.yml包含:

github:
    token: abcdefgh

并且src/Foo/Resources/config/github.yml(服务文件)包含:

services:
    github.client:
        class: Github\Client
        calls:
            - ['authenticate', [%github.token%, null, 'http_token']]

文件 app/config.ymlApplication::__construct() 函数加载。

当我运行app/console mycommand时,它使用定义的令牌。

需要

我需要能够 运行 我的命令使用不同的配置。 现在,我手动替换了 app/config.yml 文件,但它很糟糕。

为此,我考虑了 2 种可能的解决方案:

我不知道如何执行此解决方案中的一个(或第三个,没关系)。如果这是一个常见的行为,你能给我一些文档或例子来做这样的事情吗?

完全可以通过使用不同的环境,查看文档: http://symfony.com/doc/current/cookbook/configuration/environments.html

通常您将使用 --venv=myenv 指定环境。