Spúštanie všetkých rout aj po nájdení správnej

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

Ako je písané v dokumentácii je dôležité poradie rout. No kontrolujú sa vždy všetky routy ? Aj keď sa už nájde prvá ktorá matchuje ?

Moje routy vyzerajú nasledovne

	// adminModule routes
	$container->router[] = $adminRouter = new RouteList('Backend');
	$adminRouter[] = new Route('admin/<presenter>/<action>[/<id>]', array(
		'presenter'		=> 'Homepage',
		'action'		=> 'default',
		'id'			=> NULL
	));

	// frontModule routes
	$container->router[] = $frontRouter = new RouteList('Frontend');

	$frontRouter[] = new Route('', 'Homepage:default');

	$frontRouter[] = new MyRoute\PageRoute($container);

Všetko funguje v poriadku ale pri prechode na admin sekciu mi DB profiler vypisuje dotaz na databázu ktorý sa vykonáva v PageRoute … Route panel mi taktiež ukazuje že sa využila hneď prvá routa – /admin.

Prečo sa ale pokračuje v kontrole rout ďalej a tým pádom sa mi takto spravý nepotrebný dotaz na databázu ?

Editoval ricco24 (21. 4. 2012 14:50)

davidm
Člen | 81
+
0
-

A jak by si teda vysvetlil ze ten RoutePanel ti ukaze ktery routy jsou possible match … Bud to hada nebo je musi zkusit matchnout … co myslis?

llook
Člen | 407
+
0
-

Dělá to ten RoutingPanel (viz), takže na produkci by to ten dotaz do DB snad posílat nemělo.

ricco24
Člen | 141
+
0
-

llook napsal(a):

Dělá to ten RoutingPanel (viz), takže na produkci by to ten dotaz do DB snad posílat nemělo.

OK myslel som si že je to spôsobené panelom len som si nebol istý. Išlo mi hlavne o to či sa tento dotaz nevykonáva aj v produkčnej prevádzke.