Co je přesně podstatou modulů v Nette?

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

Pořád tak nějak nechápu, k čemu jsou ty moduly v Nette dobré. Z počátku jsem si to představoval tak (ještě když jsem s Nette začínal), že jsou to balíčky s kompletními prvky, které vložíte do aplikace, ale posléze jsem zjistil, že moduly zde fungují jinak, než třeba v jiných frameworcích. Jaká je tedy podstata modulů v Nette? V dokumentaci je k modulům pouze tento krátký text

Marek Šneberger
Člen | 130
+
0
-

Modul je spíš taková větší část aplikace. řekněme, že začneš psát modul Front pro frontend aplikace. Pak budeš chtít vytvořit samostatnout administraci. Tedy AdminModule – abys nemusel tou administrací „prasit“ frontendModule, nebo vytvářet ve frontu něco jako AdminUsersPresenter atd… Pak na frontend budeš chtít přidat nějaké jedoduché forum. Můžeš to udělat tak, že ve frontModulu vytvoříš nějaký ForumPresenter, TopicPresenter atd… A nebo to oddělíš a uděláš z toho submodul FrontendModule\ForumModule. Nebo třeba samostatné api atd atd…

Co se týče balíčků s kompletními prvky, na to spíš slouží komponenty – komponenta na výpis seznamu článků, detail článku, komponenta košíku atd atd…

Zax
Člen | 370
+
+6
-

Moduly v Nette jsou prakticky jen „jmenné prostory“ pro presentery, tzn. pokud nestačí odkazy ve formátu „Presenter:action“ a je potřeba to více rozdělit, je možno použít „Modul:Presenter:action“. Což se hodí třeba pro administraci, nebo pokud je web rozdělený na větší celky.

A ano, tak trochu sdílím tvé zklamání, taky jsem si to dřív představoval jinak.

Šaman
Člen | 2640
+
+2
-

Přesně tak, modul jen seskupuje presentery, případně může obsahovat i některé třídy modelu (typicky servisní vrstvy – fasády – které těm presenterům dodávají nějak specifická data).