Stud.IP
6.0
|
Public Member Functions | |
__construct (\Slim\App $app) | |
__invoke (RouteCollectorProxy $group) | |
authenticatedRoutes (RouteCollectorProxy $group) | |
unauthenticatedRoutes (RouteCollectorProxy $group) | |
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);
(PHPMD.CouplingBetweenObjects)
__construct | ( | \Slim\App | $app | ) |
Der Konstruktor.
\Slim\App | $app | die Slim-Applikation, in der die Routen definiert werden sollen |
__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 | ( | RouteCollectorProxy | $group | ) |
Hier werden autorisierte (Kern-)Routen explizit vermerkt. AuÃerdem wird über die allen JsonApiPlugins die Möglichkeit gegeben, sich hier einzutragen.
unauthenticatedRoutes | ( | RouteCollectorProxy | $group | ) |
Hier werden unautorisierte (Kern-)Routen explizit vermerkt. AuÃerdem wird über die allen JsonApiPlugins die Möglichkeit gegeben, sich hier einzutragen.