Session

PHP bietet bereits ein integriertes Session-Management. Hierzu wird die superglobale Variable $_SESSION zum Session-Handling und weitere Funktionen aus dem Package APF\core\session angeboten. Um mit diesen Hilfsmitteln ein transparentes Session-Handling zu betreiben muss jedoch oft Code zur Überprüfung der Session und zur gemeinsamen Nutzung durch mehrere Programm-Teile eingeführt werden. Diese Aufgabe übernimmt im Adventure PHP Framework der Session.

Wird in einer Applikation eine Session benötigt, kann diese einfach per

PHP-Code
use APF\core\session\Session; $session = new Session('{namespace}');

initialisiert werden. Dabei ist {namespace} jeweils durch den Namespace der aktuellen Applikation zu ersetzen.

Der Session untergliedert die in PHP global zur Verfügung gestellte Session in unterschiedliche Namespaces, die von unterschiedlichen Applikationen zur gleichen Zeit benutzt werden können. Per

PHP-Code
$session->save('MyParam', 'MyValue');

lassen sich nach der Initialisierung Daten in der Session speichern. Durch den Session wird zudem sichergestellt, dass die Session immer beim Einsatz der Applikation existent ist. Ein session_start() ist nicht mehr notwendig. Gespeicherte Daten können ganz einfach mit

PHP-Code
echo $session->load('MyParam');

aus der Session mit dem Namespace, mit dem der Session initialisiert wurde ausgelesen werden. Für einen Logout-Vorgang kann ein Session-Namespace via

PHP-Code
$session->destroy();

zurückgesetzt werden. Anschließend liefert ein load() null zurück. Der Aufruf der Methode

PHP-Code
$session->loadAll();

liefert ein assoziatives Array mit allen Einträgen des bei der Erstellung des Session-Manager übergebenen Namespaces zur Verfügung. Sofern eine Liste der aktuell registrierten Schlüssel erforderlich ist, kann diese mit

PHP-Code
$session->getEntryKeys();

abgefragt werden. Beabsichtigen Sie einen Inhalt aus der Session zu löschen, können Sie die Methode delete() nutzen:

PHP-Code
$session->delete('MyParam');

Kommentare

Möchten Sie den Artikel eine Anmerkung hinzufügen, oder haben Sie ergänzende Hinweise? Dann können Sie diese hier einfügen. Die bereits verfassten Anmerkungen und Kommentare finden Sie in der untenstehenden Liste.
Für diesen Artikel liegen aktuell keine Kommentare vor.