Symfony geschachtelte Dienste - symfony, Abhängigkeitsinjektion

Kann die Symfony DI-Konfigurationsdatei einen Dienst von Diensten erstellen? Damit meine ich etwas im Sinne des folgenden Kerns:

services:
authenticator:
class: AcmeFoo
arguments: [@foo, @parser.users]
parsers: # not valid, this would not compile
users:
class: CsfdParsersUser
messages:
class: CsfdParsersMessage

Ich möchte alles definieren parsers als Dienste, aber ich möchte sie auch unter einem haben parsers Verzweigung, so ist es offensichtlich, dass sie nicht tatsächlich die (auch bestehende) darstellen User oder Message Entitäten.

In diesem Beispiel @parser.users würde zur Instanz von lösen CsfdParsersUser.

Antworten:

2 für die Antwort № 1

Dies ist standardmäßig nicht möglich. Das "Problem" liegt hier: YamlFileLoader.php.

Wie Sie sehen können, wird die Verschachtelung nicht unterstützt und die erste Ebene wird unter "Dienste" als Service-ID behandelt.

Sie könnten Ihren eigenen YamlFileLoader erstellen, der dafür Unterstützung bietet und ihn in der Erweiterungsklasse Ihres Bundles verwendet.


Verwandte Fragen
Speisekarte