Session Handling in Contao

Contao hat eine sehr einfache Abstraktion zur Handhabung von PHP Session Informationen. Die betreffende Contao-Klasse heißt schlicht Session. Es handelt sich dabei um eine Singelton-Klasse, d. h. wir können über eine statische Methode eine Instanz der Klasse holen:

$session=Session::getInstance();

Damit können wir nun Daten in die Session schreiben und auslesen. Dazu stehen die Methode get() und set() zur Verfügung. Das wars auch schon im groß und ganzen. Die Abstraktion schreibt die Daten im Destruktor in die Session (innerhalb der Klasse werden die Werte als assoziatives Array gespeichert). Das bedeutet, dass zur Laufzeit die Werte in der PHP Session ($_SESSION) nicht sofort zur Verfügung stehen, sondern erst beim nächsten Request.

Um zu prüfen, ob ein Wert bereits hinterlegt wurde, muß auf die get()-Methode zurückgegriffen werden.

Der Entwickler muß sich selbst um eventuelle Nameskonflikte kümmern, denn sonst werden gleiche Schlüssel mit dem jeweils letzten Wert überschrieben. Ein Namespace-Mechanismus gibt es lediglich für die Backend- und Frontend-Session.

2 Gedanken zu “Session Handling in Contao

  1. Hallo,
    der Artikel ist ja schon etwas älter – ist die Information noch aktuell, also funktioniert diese Vorgehensweise auch in Contao3?

Kommentar verfassen