是否可以在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%"
答案 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%"