Holen Sie sich die Symfony2-Umgebung in der Bundle-Erweiterung

In meiner Symfony2-Bundle-Erweiterung myservices.yml wird geladen

$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
$loader->load('services.yml');

Ich möchte jedoch unterschiedliche Dienstkonfigurationen pro Umgebung laden (z. B. eine andere für Tests).

Die meisten Beispiele, die ich zum Abrufen der aktuellen Umgebung gefunden habe, beziehen sich auf den Zugriff in Controllern (z. B .:$this->get('kernel')->getEnvironment()), ein Controller-basierter Zugriff ist jedoch in Extensions nicht möglich.

GemäßZweigerweiterung - symfony2-Umgebung Die Umgebung kann mit Konstruktoren versehen werden. Ich bin mir jedoch nicht sicher, wie meine Bundle-Erweiterung von Symfony registriert / instanziiert wird. Ich bin mir also nicht sicher, wie die Umgebung injiziert werden soll (die einzigen Referenzen, die ich über grep finde, befinden sich in den Cache-Dateien hilfreich).

Wie kann ich entweder eine andere Services-YAML-Datei angeben, die per env in config geladen werden soll, oder zumindest die Umgebung ermitteln, damit ich meine Extension-Klasse codieren kann, um die richtige Datei zu laden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage