【发布时间】:2012-06-04 20:52:49
【问题描述】:
在app/config/config.yml 中,我为我的捆绑包添加了一些自定义设置
acme:
acme_services:
service_a:
options: { name: I, id: X, type: F, error: E }
service_b:
options: { name: J, id: Z, type: F, error: E }
现在在src/ACME/Bundle/ACMEBundle/DependencyInjection/Configuration.php 我如何设置默认值和/ 或检查service_a/service_b?
public function getConfigTreeBuilder()
{
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('acme');
$rootNode
->children()
// also removed the ->end() for each arrayNode but then I get a Fatal Error
->arrayNode('acme_services')->end()
->arrayNode('another')->end()
->arrayNode('more')->end()
->arrayNode('blah')->end()
->end();
return $treeBuilder;
}
所以我需要拉出service_a 和service_b 数组,但是service_a 和service_b 出现Unrecognized options 错误。
想要的结果是我想在acme_services 数组中同时拥有service_a 和service_b,这就是为什么我可以针对acme_services 数组验证使用的任何服务,service_a 或@ 987654338@.
注意:在 PHP 中我会这样写:(不确定这是否正确,但这是一个示例)
$acme_services = array(
'acme_services' =>
'service_a' => array(
'options' => array(
'name' => 'I',
'id' => 'X',
'type' => 'F',
'error'=> 'E',
)
),
'service_b' => array(
'options' => array(
'name' => 'J',
'id' => 'Z',
'type' => 'F',
'error'=> 'E',
)
)
);
【问题讨论】:
标签: php dependency-injection symfony yaml