Stud.IP  5.4
RouteMap Class Reference

Public Member Functions

 __construct (\Slim\App $app)
 
 __invoke (RouteCollectorProxy $group)
 
 authenticatedRoutes (RouteCollectorProxy $group)
 
 unauthenticatedRoutes (RouteCollectorProxy $group)
 

Detailed Description

Diese Klasse ist die JSON-API-Routemap, in der alle Routen registriert werden und die Middleware hinzugefügt wird, die JSON-API spezifische Fehlerbehandlung usw. übernimmt.

Routen der Kernklassen sind hier explizit vermerkt.

Routen aus Plugins werden über die PluginEngine abgefragt. Plugins können genau dann eigene Routen registrieren, wenn sie das Interface implementieren.

Routen können entweder mit Autorisierung oder auch ohne eingetragen werden. Autorisierte Kernrouten werden in RouteMap::authenticatedRoutes vermerkt. Kernrouten ohne notwendige Autorisierung werden in RouteMap::unauthenticatedRoutes registriert. Routen aus Plugins werden jeweils in den Methoden ::registerAuthenticatedRoutes und ::registerUnauthenticatedRoutes eingetragen.

Zu authentifizierende Routen werden in authentifiziert.

Wie Routen registriert werden, kann man im User Guide des Slim-Frameworks nachlesen (http://www.slimframework.com/docs/objects/router.html#how-to-create-routes)

Route-Handler können als Funktionen, in der Slim-Syntax "Klassenname:Methodenname" oder auch mit dem Klassennamen einer Klasse, die __invoke implementiert, angegeben werden. Die __invoke-Variante wird hier sehr empfohlen.

Beispiel:

use Studip;

$this->app->post('/article/{id}/comments', MeineRoute::class);

See also
http://www.slimframework.com/docs/objects/router.html#how-to-create-routes

(PHPMD.CouplingBetweenObjects)

Constructor & Destructor Documentation

◆ __construct()

__construct ( \Slim\App  $app)

Der Konstruktor.

Parameters
\Slim\App$appdie Slim-Applikation, in der die Routen definiert werden sollen

Member Function Documentation

◆ __invoke()

__invoke ( RouteCollectorProxy  $group)

Hier werden die Routen tatsächlich eingetragen. Autorisierte Routen werden mit der Middleware ausgestattet und in RouteMap::authenticatedRoutes eingetragen. Routen ohne Autorisierung werden in RouteMap::unauthenticatedRoutes vermerkt.

◆ authenticatedRoutes()

authenticatedRoutes ( RouteCollectorProxy  $group)

Hier werden autorisierte (Kern-)Routen explizit vermerkt. Außerdem wird über die allen JsonApiPlugins die Möglichkeit gegeben, sich hier einzutragen.

◆ unauthenticatedRoutes()

unauthenticatedRoutes ( RouteCollectorProxy  $group)

Hier werden unautorisierte (Kern-)Routen explizit vermerkt. Außerdem wird über die allen JsonApiPlugins die Möglichkeit gegeben, sich hier einzutragen.


The documentation for this class was generated from the following file: