Testování routingu v Nette Frameworku

Poslouchaj, Roubíček, vědí, že mě dneska inspirovali?

Pokud máte určité povědomí o MVC, tak víte, že každý požadavek je předán ke zpracování nějakému páru controller & action. V terminologii Nette se říká presenter & view. Nette jde v této filosofii o krůček dál a uvnitř aplikace (tj. v kódu nebo šablonách) se neodkazuje pomocí URL, ale přímo oním párem presenter & view. Tato zdánlivá drobnost má v praxi naprosto zásadní dopad: jakmile to jednou vyzkoušíte, nebudete chápat, že jste kdy mohli psát aplikace jinak.

Stejný princip odkazování zvolil i Microsoft pro svou MVC implementaci pod ASP.NET.

Součástí každé webové aplikace je pak předpis pravidel, jak libovolné URL převést na presenter & view a obráceně. Jde o jakousi obdobu pravidel mod_rewrite, o kterých dokumentace zcela bez okolků říká:

mod_rewrite is voodoo. Damned cool voodoo, but still voodoo.

Trefné! Routování je prostě magie. Ačkoliv mám s Nette Frameworkem poměrně bohaté zkušenosti, routování je oblast, ve které se toho mám ještě dost co učit. Užitečným pomocníkem mi ode dneška bude Routing Debugger.

Jeho nasazení je velice jednoduché. Stáhněte si Nette Framework, Routing Debugger (je ve složce Tools) a spusťte ukázkovou aplikaci examples/CD-collection. Nyní stačí do souboru bootstrap.php za definici routovacích pravidel přidat následující příkaz:

require 'RoutingDebugger.php';
RoutingDebugger::enable();

Nyní všechny požadavky bude zpracovávat routovací debugger. Ten zobrazí stránku, kde oznámí, na který presenter & pohled aktuální URL vede, jaké se mu předají parametry a také zobrazí tabulku s přehledem všech definovaných cest včetně příznaků, jestli pasují i na aktuální URL:

Všimněte si, že tabulka je vyvedena v krásných barvách, teplých i studených, protože Nette Framework je určen pro teplé i studené vývojáře. V tom je právě jeho síla.

před 17 lety v rubrice Nette | blog píše David Grudl | nahoru

David Grudl Tvůrce open-source projektů a specialista na AI, který lidem otevírá dveře do světa umělé inteligence. Jeho projekty Nette a další používají weby, které denně navštěvujete. Píše na Uměligence, La Trine a moderuje Tech Guys. Organizuje AI workshopy a věří, že technologie mají smysl jen tehdy, když lidem skutečně pomohou.

Mohlo by vás zajímat


phpFashion © 2004, 2025 David Grudl | o blogu

Ukázky zdrojových kódů smíte používat s uvedením autora a URL tohoto webu bez dalších omezení.