injektování služeb podle interface

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Pipaslot
Člen | 19
+
0
-

Zdravím,
chtěl bych se zeptat, zda je nějaké řešení pro injectování služeb podle interface.
Řeším modularitu systému za pomoci abstrakce, kdy chci aby do presenteru, případně služeb byla injektována jiná služba implementující zadané rozhranní. V presenteru mi je jedno jakou konkrétní implementaci dostanu, jen potřebuji mít přístup k metodám definovaným právě zadaným rozhranním. Konkrétní implementace by se tak dodala až na základě konfigurace aplikace.

Nevím jestli toto již Nette obsahuje, jelikož jsem nedočetl konkrétního řešení pro tuto situaci. V souvislosti s továrničkami jsem narazil na klíčové slovo implement u definice služeb, ale zatím žádným postupem se mi nepodařilo injectovat službu.

Předem děkuji za odpověď

F.Vesely
Člen | 369
+
+1
-

Tohle nette normalne umi. V presenteru reknes, ze chces injectnout interface a DI najde sluzbu, ktera ho implementuje a hodi ji tam.

Pipaslot
Člen | 19
+
0
-

Děkuji, už mi to funguje. Myslel jsem že nějak sám musím definovat rozhranní pro injectování. DI je ještě chytřejší než jsem si myslel :)

Velice se tedy omlouvám za spamování fóra.

duke
Člen | 650
+
0
-

Jinak se tomu říká auto-wiring a v dokumentaci je o tom řeč zde.