Symfony树建造者过程数组

时间:2015-03-28 16:15:56

标签: php symfony

我想从config params在我的应用程序中生成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()

我正在通过以下方式生成网址:

$this->router->generate($this->config['link']['route_name'],
            $this->config['link']['route_params']);

我不知道如何使用 route_params 处理数组。 每条路线的参数数量和名称都不同,所以我不能这样做:

->arrayNode('route_params')
    ->scalarNode('id')->end()
->end()

我现在收到此错误:

  

无法识别的选项“id”下   “link.route_params”

1 个答案:

答案 0 :(得分:1)

尝试这样的事情

   ->arrayNode('route_params')
        ->useAttributeAsKey('name')
        ->prototype('scalar')->end()
    ->end()