ZF2: Sessionzugriff

Heute gehts um das Thema Session erstellen mit dem Zend Framework 2.

Offizielles Zend Framework 2 Logo

Um eine Session im ZF2 zu erstellen ruft man einfach folgende Befehle auf.

 
$session = new Zend\Session\Container($namespace);

Über den Wert $namespace lassen sich mehrere Namespaces anlegen. So könnte man für die Authentifizierung einen Namespace User anlegen o.ä.

Um nun auf eine Variable zugreifen zu können, ruft man diese einfach über das generierte Objekt auf:

$testWert = $session->testWert;

Genauso einfach lassen sich Werte in die Session schreiben:

$session->testWert = 'Ich bin ein Test';

Soweit ich es bisher getestet habe, lassen sich nur Werte speichern die auch serialisierbar sind.

// Möglich
$session->testList = array('test1', 'test2');
 
// Bisher nicht getestet
$session->testObject = new stdClass();

Der hier genutzte Container überschreibt die $_SESSION. Hier die Ausgabe von $session nachdem testWert gesetzt wurde:

array (size=2)
  '__ZF' => 
    array (size=1)
      '_REQUEST_ACCESS_TIME' => float 1364464704.0629
  'test' => 
    object(Zend\Stdlib\ArrayObject)[238]
      protected 'storage' => 
        array (size=1)
          'testWert' => string 'Ich bin ein Test' (length=16)
      protected 'flag' => int 2
      protected 'iteratorClass' => string 'ArrayIterator' (length=13)
      protected 'protectedProperties' => 
        array (size=4)
          0 => string 'storage' (length=7)
          1 => string 'flag' (length=4)
          2 => string 'iteratorClass' (length=13)
          3 => string 'protectedProperties' (length=19)

In einem späteren Beitrag werden ich dann nochmal auf die Verwendung von verschiedenen Storages eingehen.

Kommentar verfassen