Dynamické závislosti služeb
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- vasam
- Člen | 26
Zdravím,
řeším takovou obligátní věc: jak nejlépe řešit situace, kdy má mít
služba nějaké závislosti, které ale nemá napevno definované, neví
o nich.
Např. mám router, ale chci, aby mohla nějaká jiná služba (říkejme jí
třeba A) přidat routu bez toho, aniž by se měnil zdroják samotného
routeru.
Nabízí se samozřejmě to, že „A“ bude mít jako závislost ten router.
Tady je ale zakopaný pes v tom, že se služby iniciují až ve chvíli, kdy
jsou explicitně potřeba. Tudíž se „A“ vůbec nevytvoří a neupraví
router.
Poněkud kostrbaté, ale funkční řešení, je „A“ nuceně vyžadovat (a díky tomu i vytvořit) třeba projitím AutoLoaderu, ale to mi nepřijde moc pěkné.
Jak byste toto řešili? Nebo je to porušení nějaké objektové zásady?