Symfony2默认配置参数

时间:2016-12-08 14:51:58

标签: php symfony

是否可以在Symfony yeml配置文件中使用默认配置参数。如果变量参数不可用。例如。我有来自Apache配置的数据库名称,但如果我运行命令,我想使用默认数据库,请参阅下文。这个例子有点像twigi'ish

doctrine:
dbal:
    driver:   pdo_mysql
    host:     "%database_host%"
    port:     "%database_port%"
    dbname:   "%database.name%"|default('database1')
    user:     "%database_user%"
    password: "%database_password%"

3 个答案:

答案 0 :(得分:1)

唯一的方法是将参数设置为默认值,我假设它在配置文件的早期。一个理论的例子:

make_pipeline

如果parameters.yml包含%foo%参数的定义,它将覆盖先前的定义。但是,如果parameter.yml不包含%foo%的定义,则它将使用先前定义的(默认)值。

答案 1 :(得分:0)

你可以将你的默认配置放在parameters.yml.dist中,这样当有人加入项目并运行时就会这样:

composer install

composer update

将提示他提供他的环境特定值,因此将创建parameters.yml。

答案 2 :(得分:0)

我通过使用" database_prefix"找到解决此问题的方法。作为默认数据库和其他数据库只需添加一个后缀。

doctrine:
    dbal:
        driver:   pdo_mysql
        host:     "%database_host%"
        port:     "%database_port%"
        dbname:   "database_prefix%database.name%"
        user:     "%database_user%"
        password: "%database_password%"