Routing

Mapping von HTTP-Parametern

Alle Engine.php-Controller erhalten automatisch alle eingehenden HTTP-Parameter (GET und POST). Die Werte werden anhand des Namens auf die Signatur gemapped. Dabei ist zu beachten, dass die Annotations korrekte Typisierungen enthalten. 

/** * @param int $max */ public function index($max) { echo $max; } // admin?max=string // ...gibt 0 aus // admin?max=5 // ...gibt 5 aus

CSRF-Tokens beachten

CSRF-Tokens werden beim Laden einer Seite generiert und werden bei Ajax-POST-Requests automatisch an jeden Request gehängt. Ohne eine gültigen CSRF-Token wird der Execute-Controller nicht ausgeführt. Lesen Sie hier mehr.

Wie kann ich auf Features in anderen Plugins zugreifen?

Um Zugriff auf fremde Plugins zu erhalten bieten die Controller-Abstracts zwei Methoden, die wir nachfolgend näher beschreiben.

Benennung von Requests

Bei Methoden, die per lowerCamelCase benannt sind, ergibt sich für den HTTP-Request eine Notation die sich an Pfaden  orientiert. Hier: lower/camel/case Wird dies nicht beachtet kommt es womöglich zu Fehlern bei der Verarbeitung von Rollen & Rechten.

staticController()

Mit dieser Methode stellen Sie eine indirekte Verbindung zu einer anderen Controller-Klasse her. Das Objekt wird automatisch instanziiert. Man hat anschließend Zugriff auf alle Methoden dieses Objekts.

/** * @param int $max * @return array */ public function index($max) { return $this ->staticController(Lib\Request\Index::class) ->request($max) ; }

Eventübersicht

Klassenname

Beschreibung

Klassenname

Beschreibung

OnIdentifyRoute

Wird beim Auflösen der Route ausgelöst. Es kann damit auf eine andere Route geleitet werden, indem man ein neues \Brandbox\Framework\Brandbox\Composer\EntityPackageFeature definiert.

OnPopulateParams

Wird verwendet, um Informationen an das Ereignisprotokoll zu übergeben