Dies ist Follow-up von Referencing non-parameter entries in config.yml Frage ich gestern gefragt.Nicht-Parameter-Einträge in verteilten config.yml referenzieren
Angenommen, wir haben einen komplizierteren Fall, in dem für jede Entität eine .yml-Konfigurationsdatei vorhanden ist. In jedem gibt es die Einstellung security.role_hierarchy mit einer Hierarchie von Rollen, die zu dieser Entität gehören. Wie so:
#user.yml
security:
role_hierarchy: &srh
ROLE_USER_SHOW: ~
ROLE_USER_LIST: ~
ROLE_USER_NEW: ~
ROLE_USER_EDIT_OWN: ~
ROLE_USER_EDIT: ROLE_USER_EDIT_OWN
ROLE_USER_SOFTDELETE_OWN: ~
ROLE_USER_SOFTDELETE: ROLE_USER_SOFTDELETE_OWN
ROLE_USER_DELETE: ~
ROLE_USER_FLAG: ~
ROLE_USER_ALL:
- ROLE_USER_SHOW
- ROLE_USER_LIST
- ROLE_USER_NEW
- ROLE_USER_EDIT
- ROLE_USER_DELETE
- ROLE_USER_SOFTDELETE
- ROLE_USER_FLAG
#group.yml
security:
role_hierarchy: &srh
ROLE_GROUP_SHOW: ~
ROLE_GROUP_LIST: ~
ROLE_GROUP_NEW: ~
ROLE_GROUP_EDIT: ~
ROLE_GROUP_DELETE: ~
ROLE_GROUP_ALL:
- ROLE_GROUP_SHOW
- ROLE_GROUP_LIST
- ROLE_GROUP_NEW
- ROLE_GROUP_EDIT
- ROLE_GROUP_DELETE
easy_admin:
entities:
Group:
form:
fields:
-
property: 'roles'
type: choice
type_options:
expanded: true
multiple: true
choices: *srh
Aber präsentierte Lösung verbindet nur choices
zu security.role_hierarchy
in group.yml
und so verweist es nur ROLE_GROUP_*
Rollen. Ich möchte choices
mit zusammengeführtem Wert von security.role_hierarchy
geliefert werden, so dass es ROLES_USER_*
, ROLES_GROUP_*
und alle anderen definierten Rollen hatte.
Ist das möglich?
'&' und '*' am Anfang eines Skalars sind für Anker und Aliase in YAML reserviert und müssen im selben Dokument vorkommen (es kann mehrere Dokumente in einer Datei geben, aber jede Datei ist mindestens eine) YAML-Dokument). Bei den meisten YAML-Parsern kann man nicht einmal ein Element nach dem Namen des Ankers finden (Ausnahme ist mein ruamel.yaml-Parser für Python im round_trip-Modus). symfony2 kann dies nicht für Sie mit dieser Syntax lösen, aber vielleicht hat es eine andere Art (d. h. Syntax) von Querverweisen von Daten aus verschiedenen YAML-Dokumenten. – Anthon