配置类:使用yaml文件制作一个TreeBuilder

时间:2019-12-03 22:07:14

标签: php symfony symfony4 configuration-files

我正试图编写一个TreeBuilder来在我的自定义包中注入yaml参数,这是我的yaml文件

example_admin:
  items:
      - icon: 'Home/Chair2'
        title: 'Prueba'
      - icon: 'Home/Deer'
        title: 'Prueba Venado'

这是我在捆绑软件的扩展类中尝试过的内容:

class Configuration implements ConfigurationInterface {
    public function getConfigTreeBuilder() {
        $treeBuilder = new TreeBuilder('example_admin');

        $treeBuilder->getRootNode()
            ->children()
                ->arrayNode('items')
                    ->children()
                        ->variableNode('icon')->end()
                        ->variableNode('title')->end()
                    ->end()
                ->end()
            ->end()
        ;

        return $treeBuilder;
    }
}

但是当我运行代码时,出现以下错误:

  

“ example_admin.items”下的无法识别的选项“ 0、1”。可用选项为“图标”,“标题”。

这是我捆绑包中的services.yaml,我正在尝试向控制器注入一些参数

services:
    admin-bundle.controller.admin-controller:
        class: ExampleVendor\AdminBundle\Controller\AdminController
        arguments:
            - "%example_admin.items%"

我猜错误是在TreeBuilder中,也许我做错了。

0 个答案:

没有答案