ContainerBuilder a getByType() v beforeCompile()

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

Ahoj,
při psaní jednoho rozšíření jsem narazil na problém, že $builder->getByType() vrací i v beforeCompile() hodnotu NULL. Prozatím jsem to vyřešil tak, že jsem na začátek beforeCompile() prsknul $builder->prepareClassList(), to je ale řešení, které se mi ne moc zamlouvá a nejsem s ním příliš spokojen – podobných rozšíření plánuji napsat a používat více a u všech potřebuji podobnou funkcionalitu (vytáhnout cizí službu a přidat jí položku do setup) a představa, že ve všech volám na začátku prepareClassList(), mě fakt děsí :)

Nešlo by to nějak lépe? Řešili jste někdo podobný problém, nebo na to jdu prostě od základu špatně a volání getByType není v beforeCompile potřeba?

PS. druhým řešením je teoreticky místo $builder->getByType() použít tagy, ale to mi na vytažení jedné jediné služby příjde z principu jako nesmysl.

PS2. přitom by asi úplně stačilo, kdyby metoda prepareClassList() byla volána automaticky někde mezi loadConfiguration() a beforeCompile().