【发布时间】:2017-03-07 02:21:53
【问题描述】:
我有一个类似这样定义的服务
puff_service:
driver: mysql
我知道如何加载配置,但在这种情况下,我想在人们第一次安装捆绑包时自动将此配置写入 config.yml。有没有办法做到这一点。
【问题讨论】:
标签: symfony
我有一个类似这样定义的服务
puff_service:
driver: mysql
我知道如何加载配置,但在这种情况下,我想在人们第一次安装捆绑包时自动将此配置写入 config.yml。有没有办法做到这一点。
【问题讨论】:
标签: symfony
您需要使用bundle extension 增强您的捆绑包,可以在其中指定默认值,而无需强制最终用户将它们写入config.yml
class Configuration implements ConfigurationInterface
{
public function getConfigTreeBuilder()
{
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('puff_service');
$rootNode
->children()
->scalarNode('driver')
->default('mysql')
->end()
->end()
;
return $treeBuilder;
}
}
这样,包含您的捆绑包的人将拥有默认驱动程序 mysql;如果需要更改,他们可以直接在config.yml中指定
【讨论】: