Kvůli dlouhému obsahu jsem stránku Další možnosti rozdělila na samostatné části:
Jediné, co potřebujeme, jsou dobře nastavené routy:
$router->addRoute('/:controller', array('action' => 'index')); $router->addRoute('/:controller/:action<[a-z_0-9-]+>.html');
Routy jsou definované v opačném pořadí, než je obvyklé. Tím zajistíme, aby se nevytvářely adresy končící "index.html" (ale router je akceptuje na vstupu).
Ukázka, jak se zpracují vstupní adresy:
URL: /clanky/regiony.html controller = clanky action = regiony URL: /clanky/index.html controller = clanky action = index URL: /clanky controller = clanky action = index
Skládání výstupních URL vypadá také podle očekávání:
echo $router->url(array( 'controller' => 'clanky', 'action' => 'regiony', )); echo "\n"; echo $router->url(array( 'controller' => 'clanky', 'action' => 'index', ));Výsledek:
/clanky/regiony.html /clanky
Poslední aktualizace: 24. 6. 2012 15:54