Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 2 Nächste Version anzeigen »

Mapping von HTTP-Parametern

Alle 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)
      ;
    }


  • Keine Stichwörter