Routování „po částech“  

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Filip Procházka
Moderator | 4668
+
0
-

Zdravím,
píšu si ExtendableRouter, po kterém chci aby mi matchoval po částech URL.
Budu mít třeba jeden co bude matchovat doménu, jeho potomek kousek scriptPath
a další potomek zbytek scriptPath a zbytek routy.

Doslova z ní potřebuju ukusovat, nějaké nápady na sexy řešení?
Zatím si jdu přepisovat Route::setMask(), protože to asi řešení s přepínátkama nemá…

//www.kdyby.org/<node>/nejaka/dalsi/adresa/?cokoliv=jakkoliv&do-somthing=32

potřebuju v jedné fázi získat

//www.kdyby.org/<node>

podle toho jakému vzoru a záznamu v databázi to bude vyhovovat tak vyberu jeden z dalších subrouterů pro konrétní pattern, protože routery budou přiřazeny podle klíčů a né čísel (SplQueue nahradím array)

/nejaka/dalsi/adresa/?cokoliv=jakkoliv&do-somthing=32

ten rozparsuju a získané params předám rodiči, a tohle chci mít možnost zanořovat do „nekonečné hloubky“ (což jenom teoreticky), na většinu případů by měla stačit hlavní routa a subrouta

Jde mi o to, že nebudu muset matchovat 1000 rout ale jenom projdu pár ořezaných regulárů abych získal <node>, podle kterého si proklepnu databázi a pak už přesně budu vědět jaké další routy mám použít na zbylé parametry.

pitomé private! teď když si přepíšu setMask tak budu muset doslova zkopírovat i celý Nette\Application\Route, takže tam nakonec zbude jenom interface…