Nette Framework
  • Úvodní stránka
  • Download
  • Dokumentace
  • Fórum
  • Blog
  • Přispějte
  • Quick Start
    • Začínáme
    • Adresářová struktura
    • Vytvoření presenteru
    • Připojení šablony
    • Tvorba odkazů
    • Hezčí šablony
    • Zobrazení tabulky
    • Stránkování a řazení
    • Tvoříme komponentu
  • Nette
    • Základní třídy
    • Nette\Annotations
    • Nette\Component
    • Nette\Debug
      • Základy
      • Logování chyb
      • Firebug
    • Nette\Environment
    • Nette\Image
    • Nette\Object
    • Nette\String
  • Nette\Application
    • Application
    • AppForm
    • Control
    • Presenter
    • PresenterCompo­nent
    • PresenterRequest
    • Routování
    • MultiRouter
    • Route
    • SimpleRouter
  • Nette\Caching
  • Nette\Forms
  • Nette\IO\SafeS­tream
  • Nette\Loaders
  • Nette\Security
    • Bezpečnost aplikací
    • Identity
    • SimpleAuthenti­cator
    • Permission
    • Dynamická správa rolí a zdrojů
  • Nette\Templates
    • Template
    • Template Filters
    • Template Helpers
  • Nette\Web
    • Web
    • Ftp
    • Html
    • HttpRequest
    • HttpResponse
    • Session
    • User
Naposledy změněno 20. 11. 2008 Edituj Historie Poslední změny

Nette\Applica­tion\SimpleRou­ter

Jednoduchá dvousměrná routa pro triviální routování přes základní tvar query stringu.

SimpleRouter je jednoduchou implementací rozhraní IRouter. Má stejné možnosti jako Route, tj. generovat i přijímat URL adresy, nastavit jim příznak pro zabezpečené schéma (https) a jednosměrky (požadavky jsou jen přijímány). Co však s Route nemá společné, je možnost vytvářet „cool URL“, protože SimpleRouter nemá jako jeden z parametrů masku tvaru vstupní/výstupní URL. Ty pak mají tvar klasického query stringu.

SimpleRouter stejně jako Route na začátku svého životního cyklu naparsuje vstupní požadavek (tedy query string) a vytvoří z něj objekt PresenterRequest a stejně jako Route také generuje URL adresy z tohoto objektu PresenterRequest, pokud je dvousměrný.

Pokud není aplikaci určena žádná uživatelská definice routy, jako výchozí se použije právě SimpleRouter, který předá požadavek ke zpracování presenteru Default a pohledu default.

Příklad deklarace SimpleRoutu a jeho předání aplikaci:

// získáme objekt MultiRouter, který slouží jako úložiště pro routy
$router = Environment::getApplication()->getRouter();

// přidání dvousměrné routy do aplikace
$router[] = new SimpleRouter(array(
    'module' => 'Front',
    'presenter' => 'Article',
    'view' => 'show',
    'id' => NULL,
));


// přidání jednoduché jednosměrné routy do aplikace
// je vhodné použít s nějakou další routou pro stejný
// modul a presenter, pokud z něj chceme i generovat odkazy
$router[] = new SimpleRouter(array(
    'module' => 'Front',
    'presenter' => 'Rss',
    'view' => 'display',
), SimpleRouter::ONE_WAY);


// nebo příklad routy pro https schéma
$route = new SimpleRouter(array(
    'module' => 'Admin',
    'presenter' => 'Dashboard',
    'view' => 'default',
    'id' => NULL,
), SimpleRouter::SECURED);

Pěkná ukázka použití SimpleRouteru ve spolupráci s objektem PresenterRequest je v adresáři tests v distribuci.

Viz také:

  • SimpleRouter API reference
  • IRouter API reference
  • Routování
  • Route
  • MultiRouter
  • PresenterRequest
  • Fórum: Příklady routeru
  • Fórum: Routovací tipy a triky
« Route Nette\Caching »

Nette Framework powered | dibi powered | Texy! powered | Institut Školení PHP