Overview

Namespaces

  • Alvine
    • Application
      • Configuration
      • Console
        • Option
        • Terminal
          • VT100
      • Data
        • Generic
      • Resource
      • UI
      • Web
        • Model
          • Linkage
            • Relation
            • Structure
        • Presenter
          • Access
          • Data
          • Event
          • File
          • Page
            • Plugin
              • Authentication
              • Html
              • I18n
              • Navigation
              • UI
                • Wrapper
        • Route
          • Cache
          • Exception
          • Handler
        • View
          • Data
          • Definition
          • Intern
          • Json

Classes

  • DefaultRouter
  • Presenter
  • Route
  • RouteException
  • RouteNotFoundException
  • Router
  • View

Interfaces

  • Model
  • Overview
  • Namespace
  • Class
  • Tree
  • Deprecated

Class Route

Route von der HTTP-Anfrage zum Presenter

Eine Route bildet die Verknüpfung einer URI zu einer konkreten Presenter-Klasse ab. Der Route kann als Methode jede HTTP-Variable oder das Schlüsselwort ANY übergeben werden. ANY sorgt dafür, dass unabhängig von dem eigentlichen HTTP-Verb der Anfrage, die Route ausgeführt wird.

Alvine\Core\Alvine
Extended by Alvine\Application\Web\Route
Namespace: Alvine\Application\Web
Package: Alvine\Application
Category: Alvine
License: Alvine Nutzungslizenz
Author: schukai GmbH info@schukai.de
Version: $Revision: 393 $
Since: 20130608
Link: alvine.io
Located at web/Route.class.php
Methods summary
public
# __construct( Alvine\Application\Web $assembly, string $method, string $pattern, string $presenterClass, string $id = null )

Route

Route

Neues Route-Objekt erstellen. Die optionale ID wird als Objekt-Hash verwendet und muss für jede Route eindeutig sein. Wird die ID nicht angegeben, so wird eine ID von Alvine generiert.

Im Standard werden die Parameter in der Reihenfolge: Query, Post, Cookie, Route und URL ausgewertet.

Parameters

$assembly
Anwendung
$method
Methode (GET, POST, HEAD, PUT oder DELETE)
$pattern
Muster
$presenterClass
Presenter-Klassenname
$id
ID der Route
public Alvine\Application\Web\Route
# setReferences( Alvine\Types\Map\SimpleMap $references )

Referenzen auf andere Routen setzen

Referenzen auf andere Routen setzen

Parameters

$references

Returns

Alvine\Application\Web\Route
public Alvine\Types\Map\SimpleMap
# getReferences( )

Referenzen auf andere Routen

Referenzen auf andere Routen

Returns

Alvine\Types\Map\SimpleMap
public Alvine\Types\Map\SimpleMap
# getReference( string $method )

Referenzen auf andere Routen

Referenzen auf andere Routen

Parameters

$method
Methode

Returns

Alvine\Types\Map\SimpleMap
$references
public Alvine\Application\Web\Route
# attachExceptionHandler( string $exception, Alvine\Application\Web\Route\Handler $handler )

Handler für Exception hinzufügen

Handler für Exception hinzufügen

Parameters

$exception
Exception
$handler
Handler für diese Exception

Returns

Alvine\Application\Web\Route
public Alvine\Application\Web\Route
# setParameterSources( array $sources )

Reihenfolge der Auswertung. Wird ein leeres Array übergeben, so werden keine Parameter definiert.

Reihenfolge der Auswertung. Wird ein leeres Array übergeben, so werden keine Parameter definiert.

Parameters

$sources

Returns

Alvine\Application\Web\Route
public Alvine\Application\Web\Route
# setParameter( Alvine\Types\Map\ParameterMap $parameter )

Parameter der Route

Parameter der Route

Parameters

$parameter
Parameter

Returns

Alvine\Application\Web\Route
Dieses Objekt
public boolean
# isDefault( )

Der Wert ist true, wenn die Route als Default gesetzt wurde.

Der Wert ist true, wenn die Route als Default gesetzt wurde.

Returns

boolean
public Alvine\Application\Web\Route
# setDefault( boolean $mode = true )

Defaultroute setzen

Defaultroute setzen

Parameters

$mode

Returns

Alvine\Application\Web\Route
public boolean
# isPassable( string $method, Alvine\Net\Resource\URI $route )

Diese Methode prüft die Kriterien der übergeben Route, mit denen der internen Definition. Passen die beiden zusammen, so gibt die Route true zurück, ansonsten false.

Diese Methode prüft die Kriterien der übergeben Route, mit denen der internen Definition. Passen die beiden zusammen, so gibt die Route true zurück, ansonsten false.

Es Match auch, wenn die Route-ID übergeben wird.

Parameters

$method
Methode
$route
Route oder Route-ID

Returns

boolean
Ergebnis
public boolean
# hasPermission( Alvine\Security\Authentication\Identity $identity, Alvine\Security\Authorization\Permission $permission = null )

Prüfen ob die Berechtigung gegeben ist. Wurde keine AccessList definiert ist die Berechtigung immer gegeben.

Prüfen ob die Berechtigung gegeben ist. Wurde keine AccessList definiert ist die Berechtigung immer gegeben.

Parameters

$identity
$permission

Returns

boolean
protected Alvine\Application\Web\presenterClass
# getPresenterObject( )

Presenter aus Klassendefinition erstellen

Presenter aus Klassendefinition erstellen

Returns

Alvine\Application\Web\presenterClass

Throws

Alvine\IO\File\NotFoundException
Alvine\Core\NullException
Alvine\Types\TypeException
Alvine\Core\ClassNotFoundException
Alvine\Core\ClassNotFoundException
protected Alvine\Application\Web\Route
# initPresenter( )

Initialisieren des Presenters

Initialisieren des Presenters

Returns

Alvine\Application\Web\Route

Throws

Alvine\IO\File\NotFoundException
Alvine\Types\TypeException
Alvine\Core\ClassNotFoundException
public Alvine\Application\Web\Route
# run( string $method, Alvine\Net\Resource\URI $route )

Presenter aufrufen

Presenter aufrufen

Dem Presenter werden neben den fest im Routing definierte Parameter auch die aus der URL definierten Parameter übergeben. Die dynamisch definierten Parameter überschreiben die fest definierten Parameter.

Vor dem Aufruf von run() muss mit isPassable geprüft werden ob die Route ausgeführt werden kann.

Parameters

$method
Methode
$route
Route ist der URL-String

Returns

Alvine\Application\Web\Route
Dieses Objekt
public Alvine\Application\Web\Route
# handleException( Exception $e, string $method, Alvine\Net\Resource\URI $route )

Exception behandeln und mögliche Exception-Handler aufrufen. Ist kein Exception Handler definiert, so wird die Übergebene Exception geworfen.

Exception behandeln und mögliche Exception-Handler aufrufen. Ist kein Exception Handler definiert, so wird die Übergebene Exception geworfen.

Parameters

$e
$method
$route

Returns

Alvine\Application\Web\Route

Throws

Exception
protected Alvine\Application\Web\Route
# runInternal( string $method, Alvine\Net\Resource\URI $route )

Interner Run Befehl

Interner Run Befehl

Parameters

$method
Methode
$route
Route ist der URL-String

Returns

Alvine\Application\Web\Route

Throws

Alvine\Application\Web\RouteException
public Alvine\Types\Map\ParameterMap
# getInitializedRouteParameters( string $method, Alvine\Net\Resource\URI $route )

Initialisierte Routing-Parameter

Initialisierte Routing-Parameter

Parameters

$method
$route

Returns

Alvine\Types\Map\ParameterMap

Throws

Alvine\Application\Web\RouteException
protected mixed
# getUrlParameter( string $key, Alvine\Net\Resource\URI $route )

URL Parameter

URL Parameter

Parameters

$key
$route

Returns

mixed
protected mixed
# getQueryParameter( string $key, Alvine\Net\Resource\URI $route )

Query Parameter auslesen

Query Parameter auslesen

Wurde in der URL (zum Beispiel für einen internen Redirect Parameter definiert), so werden diese Parameter zurückgegeben. Ansonsten wird versucht aus dem Request (Superglobale) die Parameter auszulesen.

Parameters

$key
Schlüssel des Parameters
$route
Routen-URI

Returns

mixed
public Alvine\Application\Web\Route
# setAccessControlList( Alvine\Security\Authorization\AccessControlList $accessControlList = null )

Zugangsliste für die Route setzen, wird null übergeben so wird die interne Zugangsliste gelöscht.

Zugangsliste für die Route setzen, wird null übergeben so wird die interne Zugangsliste gelöscht.

Parameters

$accessControlList

Returns

Alvine\Application\Web\Route
protected mixed
# getBodyParameter( string $key, Alvine\Net\Resource\URI $route )

Body Parameter (POST, PUT)

Body Parameter (POST, PUT)

Parameters

$key
$route

Returns

mixed
protected mixed
# getCookieParameter( string $key, Alvine\Net\Resource\URI $route )

Cookie Parameter

Cookie Parameter

Parameters

$key
$route

Returns

mixed
protected mixed
# getRouteParameter( string $key, Alvine\Net\Resource\URI $route )

Route Parameter

Route Parameter

Parameters

$key
$route

Returns

mixed
public Alvine\Application\Presenter
# getPresenter( )

Rückgabe des gesetzten Presenters

Rückgabe des gesetzten Presenters

Returns

Alvine\Application\Presenter
Aktueller Presenter
public string
# getPattern( )

Rückgabe des gesetzten Suchmusters

Rückgabe des gesetzten Suchmusters

Returns

string
Suchmuster
public string
# getMethod( )

Rückgabe der gesetzten Methode

Rückgabe der gesetzten Methode

Returns

string
Methode
public Alvine\Types\Map\ParameterMap
# getParameter( )

Parameter der Route

Parameter der Route

Returns

Alvine\Types\Map\ParameterMap
Parameter
public boolean
# isFinale( )

Abbruchkriterium

Abbruchkriterium

Gibt diese Methode true (standard) zurück, so werden vom Router keine weiteren Routen mehr betrachtet und die Verarbeitung abgebrochen.

Returns

boolean
true
public Alvine\Application\Web\Route
# setTemplate( string $template )

Template für die URI setzen

Template für die URI setzen

Das Template ist das Gegenstück des Pattern und sagt, wie die URL der Route im View aussehen soll.

Parameters

$template
Template

Returns

Alvine\Application\Web\Route
Dieses Objekt
public string
# getTemplate( Alvine\Types\Map $parameters = null )

Template der Route

Template der Route

Das Template ist das Gegenstück des Pattern und sagt, wie die URL der Route im View aussehen soll.

Wurde kein explizites Template gesetzt, so wird das Pattern als Templateverwenden. Dies kann bei der Verwendung von RegEx-Pattern zu Problemen führen.

Über die optionalen Parameter können Platzhalter in dem Pattern ersetztwerden. So kann Die URI /kontakt/telefonnummer/{number}/ mittels Map ersetzt werden.

$map = (new SimpleMap)->setValue('number','1425346');
$route->getTemplate($map);

Ausgabe: /kontakt/telefonnummer/1425346/

Parameters

$parameters
Werte

Returns

string
Template für die URI
public Alvine\Application\Web\Route
# setConfiguration( Alvine\Types\NodeList $nodes )

Setzt die Konfiguration

Setzt die Konfiguration

Parameters

$nodes
Konfiguration

Returns

Alvine\Application\Web\Route
Dieses Objekt
public Alvine\Application\Web\Route
# setLinks( Alvine\Types\NodeList $links )

Setzt die Verlinkung

Setzt die Verlinkung

Parameters

$links
Links

Returns

Alvine\Application\Web\Route
Dieses Objekt
public Alvine\Types\Map
# getLinks( )

Linkliste der Route

Linkliste der Route

Returns

Alvine\Types\Map
Linkliste
public Alvine\Application\Web\Route
# initLinks( Closure $closure )

Linkliste durchführen

Linkliste durchführen

Mit Hilfe dieser Methode kann ein Presenter die Links aus der Routingtabelle einlesen. Dazu muss er eine Callback-Funktion übergeben, der die einzelnen Link-Nodes übergeben werden.

$route->initLinks(function(\Alvine\Types\Node $node) {
  // do something
});

Parameters

$closure
Funktion

Returns

Alvine\Application\Web\Route
Dieses Objekt
public Alvine\Application\Web\Route
# initConfiguration( Closure $closure, array $nodes = null )

Konfiguration durchführen

Konfiguration durchführen

Mit Hilfe dieser Methode kann ein Presenter die Konfiguration aus der Routingtabelle einlesen. Dazu muss er eine Callback-Funktion übergeben, der die einzelnen Konfigurations-Nodes übergeben werden.

$route->initConfiguration(function(\Alvine\Types\Node $node) {
  // do something
});

Parameters

$closure
Funktion
$nodes
Array mit Nodes die verwendet werden sollen

Returns

Alvine\Application\Web\Route
Dieses Objekt
public string
# __toString( )

Zeichenkette

Zeichenkette

Returns

string
public string
# serialize( )

Serialisieren der Route-Klasse

Serialisieren der Route-Klasse

Es darf keine Referenz auf bestehende Objekte wie zum Beispiel die Anwendungsklasse gespeichert werden. Diese werden im Zusammenspiel mit der unserialize-Methode herausgenommen und beim einlesen wieder eingefügt.

Returns

string
public
# unserialize( object $serialization )

Unserialize

Unserialize

\Alvine\Core\UnserializeException wird im wesentlichen dann geworfen, wenn die Serialisierte Klasse mit einer anderen Anwendungsklasse verknüpft war und die Anwendung umbenannt wurde. In diesem Fall muss der Route-Cache geleert werden.

Parameters

$serialization

Throw

\Alvine\Core\UnserializeException
Constants summary
string PARAMETERFROMURL

Parameter aus Route

Parameter aus Route

# 'url'
string PARAMETERFROMROUTE

Parameter aus Route

Parameter aus Route

# 'route'
string PARAMETERFROMQUERY

Parameter aus Route

Parameter aus Route

# 'query'
string PARAMETERFROMBODY

Parameter aus POST und Body

Parameter aus POST und Body

# 'body'
string PARAMETERFROMCOOKIE

Parameter aus COOKIE

Parameter aus COOKIE

# 'cookie'
string UNDEFINEDRELATION

Name, wenn keine Relation definiert wurde

Name, wenn keine Relation definiert wurde

# 'undefined'
string UNDEFINEDLABEL

Label, wenn keine Label für den Link definiert wurde

Label, wenn keine Label für den Link definiert wurde

# 'undefined'
Properties summary
protected array $parameterSource

Quellen woher die Parameter kommen

Quellen woher die Parameter kommen

# []
protected string $method

Methode (GET, POST, HEAD, PUT oder DELETE)

Methode (GET, POST, HEAD, PUT oder DELETE)

# null
protected string $pattern

Suchmuster

Suchmuster

# null
protected Alvine\Application\Presenter $presenter

Presenter

Presenter

# null
protected string $presenterClass

Klassenname des Presenter

Klassenname des Presenter

# null
protected Alvine\Application\Web $assembly
# null
protected Alvine\Types\Map\SimpleMap $references
#
protected Alvine\Types\Map\ParameterMap $parameter

Parameter der Route

Parameter der Route

# null
protected Alvine\Types\Node $configuration

Erweiterte Konfiguration

Erweiterte Konfiguration

# null
protected boolean $default

Default

Default

# false
protected array<\string> $exceptionHandler

Exception Handler

Exception Handler

# []
protected Alvine\Types\NodeList $links

Link-Nodes

Link-Nodes

#
protected Alvine\Types\Map $linkMap

(geparste Link-Nodes)

(geparste Link-Nodes)

# null
protected string $template

Das Template ist das Gegenstück des Pattern und sagt, wie die URL der Route im View aussehen soll.

Das Template ist das Gegenstück des Pattern und sagt, wie die URL der Route im View aussehen soll.

# null
protected Alvine\Security\Authorization\AccessControlList $accessControlList

Zugangsbrechtigung

Zugangsbrechtigung

# null
alvine.application API-Dokumentation 1.1.1 | © schukai GmbH | Impressum