Spring je v URL zviazany v dvoch oblastiach:
--------
* Sufixy URL adries su uvadzane v anotaciach pre kontrolery.
Tohto sa mozno alebo napisanim vlastneho mapovania requestov na kontrolery, ktory moze byt taky dynamicky ako sa ziada a jednym riadkom ho deklarovat v XML.
Nette adresy generuje plne dynamicky. Ak som pochopil spravne, tak trik spociva v pritomnosti premennej $presenter, ktorej metody vygeneruju URL. Vyzera to ako dobry napad, pretoze naozaj sa zbavite URL adries vo view vrstve.
Ale: Spring MVC absolutne neriesi, v com bude napisany view. JSP? Freemarker? JasperReports? RSS? Staci, ze view rendered dostane modelovu mapu a ako ju zrenderuje je na nom. Nette podporuje primarne PHP, ako je to s inymi vrstvami?
* Modelom moze byt lubovolna trieda. Myslim, ze uz po Struts 1.x sa ludia poucili a zistili, ze nema zmysel, aby model musel byt nieco specialne. Automaticke vkladanie navratovych hodnot do modelu je super vec. Tu sa zhodneme
* Kontroler. Spring MVC razi zasadu, ze obsluzne triedy maju byt jednoduche, najlepsie bezne triedy s anotaciou. (Anotacia je ekvivalentna marker interfacu bez metod).
* Mapovanie nazvu view na konkretnu implementaciu je riesene jednym riadkom v XML.
* Odkazovanie. "redirect:" je skratka pre pohodlnych. Pokojne mozete vratit specialny RedirectView, kde uvediete logicke meno viewu a model (presny ekvivalent "->redirect()"). Alternativne mozete view do kontrolera zadrotovat cez dependency injection a kontroler ani nebude tusit, ze nejaky redirect sa deje.
Tu by som podotkol, ze netreba mat totalnu paranoju z XML. Bezna springova aplikacia ma aj tak XML subor pre dependency injection, cize tam je to jedno (a pozor: DI je velmi dobry pattern, ktory vyvoj velkych aplikacii sprehladnuje).
////////////////////////////////////////////
Inak som velmi poteseny, ze vidim nejaky slubny MVC framework pre PHP. PHP si ho zasluzi.
Mam len otazku:
* ako sa riesia ine formaty view? (Vid vyssie)
* ako je mozne pouzivat vlastne formulare (Nette generuje kod formularov dynamicky, toto Spring MVC nema, view vrstvu nechava na vyber implementatora)
Odpověď na názor
Odpovídáte na názor k článku Nette Framework: Refactoring.
Pravidla pro diskutující: Přidáním čtenářského příspěvku do diskusí či fóra souhlasíte s pravidly.
Informace o soukromí: U všech přidaných komentářů provozovatel ukládá IP adresu a hostname odesílatele. U neregistrovaných uživatelů se na webu zobrazuje část hostname, případně IP adresy, neumožňující identifikovat konkrétní počítač.
Povolené značky XHTML: a, br, code, em, li, ol, p, pre, strong, sub, sup, ul