Modulární aplikace: CompilerExtension vs config.neon
- mirimCZ
- Člen | 24
Ahoj,
předělávám aplikaci do modulární. Modulů je mnoho: Article, Fotogalery, Whatever. Každý modul je vždy rozdělen na dva submoduly – Public a Admin. Každý modul bude mít pochopitelně svoje specifika – služby, routy, parametry. Všechny moduly budou „dědit“ od SystemModulu (mohl by se jmenovat i CoreModule).
Proč používat CompilerExtension když tyhle potřebné věci můžu definovat v configu pro každý modul a v system configu jen includnout configy pro všechny dostupné moduly?
Předem díky za odpovědi,
přeji hezký den :)
____
Nejsem si úplně jistej třeba nastavením rout v configu ale AD1 jsem dneska našel řešení RouterFactory, které asi ani nebude potřebovat vlastní router pro každý modul pokud budu dodržovat convention before configuration (super poučka, doporučuju dodržovat) AD2 viděl jsem tu na fóru (ale v praxi nezkoušel), že by routy měli jít nastavovat i v configu.
Editoval mirimCZ (21. 5. 2014 15:36)
- pepakriz
- Člen | 246
Zde je vysvětleno, proč je lepší použít compilerExtension místo include: https://forum.nette.org/…e-promennych
- mirimCZ
- Člen | 24
Dík. A mimochodem koukal jsem i na tvůj framework jak řeší moduly atp :) dík za inspiraci.
Taky by se hodilo ještě někde zvýraznit tehle topic od Davida (https://forum.nette.org/…racni-soubor). Bylo by dobré kdyby ten příklad byl i na stránce s dokumentací (https://doc.nette.org/…n/extensions) můžu to tam nějak přidat? (ano, můžu https://doc.nette.org/…ocumentation)
Vyřešilo to všechno moje váhání, ale našel jsem to samozřejmě až teď. Servisy se tak dají načíst pohodlně i z neonu, což byla moje podmínka.
Editoval mirimCZ (21. 5. 2014 21:45)
- mirimCZ
- Člen | 24
Z https://forum.nette.org/…e-promennych, nechci oživovat tak staré téma, ještě k tomu s OT dotazem:
enumag napsal(a):
Knihovny v libsDir by spíš než svůj vlastní config.neon měly mít vlastní CompilerExtension.
Filip Procházka napsal(a):
Přesně tak. Není důvod vkládat configy vendorů.
Pokud vycházím z toho, že každý modul je CompilerExtension a tedy se dá považovat za vendor, vyvstává otázka: Proč?
Editoval mirimCZ (22. 5. 2014 14:03)