Ich bin mit symfony/dependency-Injektion Komponente (Anmerkung: nicht den vollständigen Stack-Framework)Symfony Dependency Injection neue Instanz der Klasse injizieren
Wenn Sie einen neuen Dienst i im Konstruktor eine neue Instanz injizieren wollen Registrierung einer Klasse. Beispiel:
$container->register('session', 'Vendor\Core\Session')
->addArgument(new PhpBridgeSessionStorage());
Das Beispiel funktioniert sehr gut, aber was ist, wenn ich YML-Dateien für die Definition dieses Dienstes verwenden möchte? Etwas wie:
Bin ich gezwungen, Class \ To \ Inject als neuen Service zu definieren? oder eine Service Factory erstellen?
Diese Konfigurationsdatei verschmutzen mit viel Einsatz-once Dienste bedeuten würde das ha Es gibt keine Abhängigkeiten und das sollte nicht außerhalb des Containergebäudes verwendet werden. Ich würde in diesem Fall lieber diesen Teil des Containers mit PHP erstellen. – spdionis
@spdionis Wenn es nicht außerhalb des Containers verwendet werden soll, sollte es als 'public = false' (privat) markiert werden. Du musst sie in einen Container stecken, so funktioniert es :) –
Ich habe nur Angst, dass ich 100 Dienste bekomme. – spdionis