Inject služeb implementujících interface
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- jan.vesely
- Člen | 4
Ahoj,
mám definované služby implementující určitý interface, je jich více.
Potřeboval bych je všechny nějakým hezkým způsobem dostat do jiné
služby. Jde to nějak pomocí automatického předávání služeb DI
containerem (injecty), nebo to lze udělat pouze tímto způsobem?
sluzbaDoKtereJeChciDostat:
class: \MojeTrida
setup:
- zaregistruj( @sluzbaImplementujiciInterface1 )
- zaregistruj( @sluzbaImplementujiciInterface2 )
- zaregistruj( @sluzbaImplementujiciInterface3 )
Předem díky všem za odpovědi…:)
- Filip Procházka
- Moderator | 4668
Standardní postup je všem dát nějak tag a ve vlastním compiler extension najít všechny služby s tagem a připojit je. Třeba takto.