Symfony 树生成器进程数组
Symfony tree builder process array
我想通过配置参数在我的应用程序中生成 url。
我正在处理以下配置:
link:
route_name: article
route_params: {id: 1}
和我的配置:
->arrayNode('link')
->beforeNormalization()
->ifString()
->then(function ($v) { return [ 'direct' => $v]; })
->end()
->children()
->scalarNode('route_name')->end()
->arrayNode('route_params')->end()
->scalarNode('direct')->end()
->end()
->end()
我通过以下方式生成 url:
$this->router->generate($this->config['link']['route_name'],
$this->config['link']['route_params']);
我不知道如何使用 route_params 处理数组。
每条路线的参数数量和名称都会不同,所以我不能这样做:
->arrayNode('route_params')
->scalarNode('id')->end()
->end()
我现在收到这个错误:
Unrecognized option "id" under
"link.route_params"
尝试这样的事情
->arrayNode('route_params')
->useAttributeAsKey('name')
->prototype('scalar')->end()
->end()
我想通过配置参数在我的应用程序中生成 url。 我正在处理以下配置:
link:
route_name: article
route_params: {id: 1}
和我的配置:
->arrayNode('link')
->beforeNormalization()
->ifString()
->then(function ($v) { return [ 'direct' => $v]; })
->end()
->children()
->scalarNode('route_name')->end()
->arrayNode('route_params')->end()
->scalarNode('direct')->end()
->end()
->end()
我通过以下方式生成 url:
$this->router->generate($this->config['link']['route_name'],
$this->config['link']['route_params']);
我不知道如何使用 route_params 处理数组。 每条路线的参数数量和名称都会不同,所以我不能这样做:
->arrayNode('route_params')
->scalarNode('id')->end()
->end()
我现在收到这个错误:
Unrecognized option "id" under "link.route_params"
尝试这样的事情
->arrayNode('route_params')
->useAttributeAsKey('name')
->prototype('scalar')->end()
->end()