在config.yml中引用非参数条目

时间:2016-05-20 22:31:03

标签: symfony reference yaml config

我有相当广泛的配置.yml文件,我想在那里参考各种设置:

security:
    role_hierarchy:
        ROLE_ADMIN: ROLE_USER
        ROLE_SUPER_USER: ROLE_ADMIN

easy_admin:
    entities:
        Group:
            form:
                fields:
                    - 
                      property: 'roles' 
                      type: choice
                      type_options: 
                          expanded: true
                          multiple: true
                          choices: "%security.role_hierarchy%"

当然最后一行不起作用,因为%security.role_hierarchy%指的是parameters.security.role_hierarchy。是否有任何有效的方法可以在security.role_hierarchy部分中引用easy_admin

1 个答案:

答案 0 :(得分:0)

在YAML中唯一有效的方法是使用标准功能anchors and aliases。锚点(将被引用的内容)由&<name>表示,别名(引用锚点的一个或多个点)由&#39; *`:

表示
security:
    role_hierarchy: &hr1
        ROLE_ADMIN: ROLE_USER
        ROLE_SUPER_USER: ROLE_ADMIN

easy_admin:
    entities:
        Group:
            form:
                fields:
                    -
                      property: 'roles'
                      type: choice
                      type_options:
                          expanded: true
                          multiple: true
                          choices: *hr1

映射条目choices的值,在检索时将是映射:

ROLE_ADMIN: ROLE_USER
ROLE_SUPER_USER: ROLE_ADMIN

(转换为编写YAML解析器的编程语言对象的散列或字典),与密钥role_hierarchy的值相同。