Class Router
Rozšířená verze. Hlavní změny:
- zjednodušené generování URL, které se liší jen hodnotou jediného parametru
- umožněny nepovinné části routy
- možnost vynechání části URL před zpracováním, doplnění prefixu do výstupní adresy
- automatické přesměrování z nepoužívaných URL na nové
- předá řízení libovolnému callbacku (funkce nebo třída+metoda; nadefinuje se jen přibližně, hodnoty se doplní z URL)
- Router implements ArrayAccess
Direct known subclasses
RouterForIncludesAuthor: Jakub Kulhan (původní verze), http://bukaj.netuje.cz/blog/jednoduchy-routing-v-php
Author: Viktorie Halasů (rozšíření), http://projekty.vize.name/router/
Version: 1.3
Located at Router.php
public
|
|
final public
|
|
final public
|
#
prepareUrlTemplate( string $tplName, array $params, mixed $queryString = '', string $fragment = '' )
Připraví URL jako pojmenovanou šablonu (= jedna hodnota se bude dynamicky doplňovat, ostatní zůstanou stejné). |
final public
string
|
|
final public
string
|
|
final protected
string
|
#
createQueryString( string|array $params )
Zpracuje dodatečné parametry do URL (query string), neescapuje, otazník
nepřidává. |
final protected
string
|
|
final public
array
|
|
final protected
|
|
final public
|
#
setCallbackMask( string $mask )
Nastaví masku pro callback. Tam, kde se má doplnit parametr z URL, napište jeho jméno v ostrých závorkách. Lze zadat jak funkci: "<func>", tak třídu + metodu: "<controller>Controller:<action>". Více hodnot oddělte čárkou. |
final public
|
#
setErrorCallback( string $callback )
Nastaví callback, který se má použít v případě chyby (neexistující třídy/metody apod.) Syntax stejná jako pro setCallbackMask, ale bez doplňovaných hodnot. |
final protected
|
#
resolveCallbackName( )
Vytvoří callback pro metodu delegate (z parametrů z URL podle zadané masky). |
protected
array
|
#
callbackFromString( string $str )
Vytvoří spustitelné callbacky z řetězce. Pokud se jméno třídy opakuje, použije jen jedinou instanci. |
public
|
|
protected
|
|
final public
boolean
|
|
protected
|
|
final public
|
|
final public
|
|
final public
|
#
setRouteKey( string $param )
Nastaví název parametru $_GET, do kterého se v .htaccess ukládá požadovaná URL. Výchozí hodnota je "route". |
final public
string
|
|
final public
string
|
|
final public
array
|
|
public
mixed
|
|
final public
|
|
public
|
|
public
|
|
public
|
|
public
|
string
|
COPY_OLD_VALUE
|
'@@copy' |
#
Pro přesměrování, do tohoto parametru se má zkopírovat hodnota ze staré URL. |
string
|
PREPARE
|
"\032" |
#
Určuje, že tato část výstupní adresy se bude dynamicky dosazovat (polotovar). |
protected
string
|
$urlRouteKey | 'route' |
#
Název klíče v poli $_GET, do kterého se v .htaccess ukládá URL (nepovinné). |
protected
string
|
$baseUrl | '' |
#
Základ URL. |
protected
string
|
$ignoredUrlPart | '' |
#
Část vstupní URL, která má být odstraněna před hledáním vhodné routy. |
protected
string
|
$outputUrlPrefix | '' |
#
Řetězec, který se má přidat před každou výstupní URL. |
protected
string
|
$currentUrl | '' |
#
Aktuální URL (to, co bylo předané metodě parseURL). |
protected
array
|
$params | array() |
#
Parametry z rozebrané URL. |
protected
array
|
$defaultParams | array() |
#
Výchozí hodnoty parametrů, pokud bude URL prázdná. |
protected
array
|
$routes | array() |
#
Parsované routy. |
protected
array
|
$urlTemplates | array() |
#
Připravené šablony URL. |
protected
string
|
$callbackMask | '' |
#
Maska pro jméno kontroleru / metody / funkce, kterou bude volat metoda delegate. |
protected
string
|
$callback | '' |
#
Přeložené jméno callbacku. |
protected
string
|
$errorCallback | '' |
#
Callback pro případ chyby (neexistující metoda/třída/funkce). |