Tento router neumí všechno, co byste mohli chtít. Některé věci ani umět nikdy nebude, jiné možná časem přidám. Pokud máte pocit, že mu chybí nějaká zásadní vlastnost, napište mi.
Vypadalo by trochu lépe, kdybychom místo $router->url(array(...pole parametrů...)); mohli použít přímo odkaz na kontroler a metodu: $router->url("Main:clanky, id = $id"). Tuhle vlastnost bych chtěla určitě přidat; pokud se to nějak nezkomplikuje, tak v nejbližší příští verzi by mohla být.
Někdy nestačí jen volitelné parametry routy, ale potřebovali bychom mít volitelný nějaký větší kus routy.
Např. pokud nepoužívám pěkné URL a chci, aby router akceptoval adresy ?akce=katalogZbozi i ?akce=katalogZbozi&strana=2. Momentálně je jedinou možností definovat dvě různé routy:
$router->addRoute('?akce=:akce<[a-zA-Z0-9_-]+>&strana=:strana<\\d+>'); $router->addRoute('?akce=:akce<[a-zA-Z0-9_-]+>', array('strana'=>1));
Lepší by ovšem bylo něco takového:
$router->addRoute('?akce=:akce<[a-zA-Z0-9_-]+>[&strana=:strana<\\d+>]', array('strana' => 1));
Nette router to umožňuje. Jestli by se tím příliš nezkomplikovalo už tak dost nepřehledné parsování rout, tak tuhle možnost v nějaké další verzi přidám.
Update (8. 6. 2012): Pro URL skládané z parametrů doplněna třída SimpleRoute, která zjednodušuje zápis pro tento druh adres. Uvedený příklad by se s ní zapsal takto. Další informace: Další možnosti použití » adresy jen z parametrů
$router->addRoute(':akce<[a-zA-Z0-9_-]+>, :?strana<\\d+>', array('strana' => 1), Route::SIMPLE);
Máte URL /clanky/prehled a /articles/showAll a chcete, aby se u obou z nich spouštěla stejná metoda? Možná to někdy zkusím přidat, prozatím vás ale odkážu na router z frameworku Nette.
Jak je uvedeno na stránce o šablonách, router umí pracovat pouze s jednou doplňovanou hodnotou. Pokud použijeme Router::PREPARE na více místech, všude se doplní stejná hodnota.
Zatím jsem nikdy nepotřebovala dosazovat několik různých hodnot naráz, takže to nebyla priorita. Nejsem ještě rozhodnutá, jestli má smysl to přidávat nebo ne. Pokud by vám tahle vlastnost velmi chyběla, napište mi (kontakt je na úvodní stránce v patičce).
Poslední aktualizace: 24. 6. 2012 16:00