繁体   English   中英

如何在Symfony2配置中添加包含值的数组?

[英]How to add an array with values in Symfony2 configuration?

我想在配置文件(config.yml)中添加一个简单的值列表。 例如 :

my_bundle:
    columns: ["col1", "col2"]

将节点添加到配置解析器时,它只是失败:

$rootNode = $treeBuilder->root('my_bundle');
$rootNode->arrayNode('columns')->children()->end();

这是错误:

InvalidConfigurationException: Unrecognized options "0, 1" under "my_bundle.columns"

我错过了什么? 这甚至可能吗?

如果你想实现这样的节点,那就做:

$rootNode
    ->children()
        ->arrayNode('columns')
            ->prototype('scalar')
            ->end()
        ->end()
    ->end()
;

我认为你缺少 YAML不是一种标记语言,它甚至不是一个的langauge这样(这是一个数据序列化标准),所以它不知道任何语言构造,如阵列。 它表达分组和数据位之间关系的主要“工具”是空格,冒号和短划线。
YaML格式symfony文档页面

my_bundle:
    columns: 
        - col1
        - col2

我从这一部分收集到:

YAML文件很少用于描述简单的标量。 大多数时候,它描述了一个集合。 集合可以是元素的序列或映射。 序列和映射都转换为PHP数组。

序列使用破折号后跟空格:

- PHP

- Perl

- Python

以前的YAML文件等效于以下PHP代码:

array('PHP', 'Perl', 'Python');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM