Router

Kvůli dlouhému obsahu jsem stránku Další možnosti rozdělila na samostatné části:


Použití pro statické adresy

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