abstract class Router extends Alvine implements Collection

Ein Router bildet die Verknüpfung zwischen einer URI und den auszuführenden Funktionen ab. Jeder URI kann man über einen Router ein bestimmtes Verhalten konfigurieren.

Der abstrakte Router stellt bereits alle Funktionen für das ausführen des Routings bereit. Einzig das einlesen der Route aus einer Datei, Datenbank oder anderer Quelle muss von einem konkreten Router implementiert werden.

Properties

protected Web $assembly
protected integer $counter
protected array $recursionProtection

Methods

__construct(Web $app)

Neues Router-Objekt erstellen.

addRoute(Route $route)

Route hinzufügen

removeRoute(Route $route)

Route aus dem Routing entfernen

Map
getRoutes()

Gibt die Route zurück

Route|null
getRoute(string $id)

Gibt die Route mit der ID zurück

execute(string $route)

Routing ausführen

executeRoute(string $method, string $entry, URI $validatedRoute)

Route ausführen.

integer
getExecutedNumber()

Routing-Zähler

getAssembly()

Assembly

Details

at line 64
__construct(Web $app)

Neues Router-Objekt erstellen.

Parameters

Web $app

at line 80
abstract Collection addRoute(Route $route)

Route hinzufügen

Parameters

Route $route

Return Value

Collection

at line 89
abstract Router removeRoute(Route $route)

Route aus dem Routing entfernen

Parameters

Route $route Route

Return Value

Router Dieses Objekt

at line 96
abstract Map getRoutes()

Gibt die Route zurück

Return Value

Map Route

at line 105
abstract Route|null getRoute(string $id)

Gibt die Route mit der ID zurück

Parameters

string $id ID der Route

Return Value

Route|null Route

at line 118
abstract Router execute(string $route)

Routing ausführen

Parameters

string $route Route

Return Value

Router Dieses Objekt

Exceptions

RouteNotFoundException
RouteException
AccessDenied

at line 132
protected Router executeRoute(string $method, string $entry, URI $validatedRoute)

Route ausführen.

Parameters

string $method
string $entry
URI $validatedRoute

Return Value

Router

Exceptions

RouteException
Exception

at line 163
integer getExecutedNumber()

Routing-Zähler

Anzahl der durchgeführten Routings.

Return Value

integer Anzahl

at line 172
Assembly getAssembly()

Assembly

Return Value

Assembly