• Willkommen im Zend Framework Forum

    ZF1 Zend Framework 1 + ZF2 Zend Framework 2

    Das Zend Framework Forum ist seit 2006 die erste Anlaufstelle für Zend Framework Entwickler in Deutschland. Mit über 70.000 Beiträgen und einer steigenden Nutzerzahl bietet das Forum hilfreiche Themen und ZF-Tutorials für professionelle Entwickler, fortgeschrittene Programmierer sowie Zend Framework Einsteiger.
    Wenn dies Dein erster Besuch in der Zend Framework Community ist, lies bitte zuerst die Hilfe - FAQ durch. Du musst Dich registrieren, bevor Du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um die Registrierung zu starten. Du kannst auch jetzt schon Beiträge lesen. Hier im Forum findest Du die Zend Framework Hilfe, die Du suchst!

    Grüße an alle Zend Framework Entwickler. Das Team vom Zend Framework Forum!

    Drupal Agentur

Probleme mit Session und speichern von Werten

Hiho,

und zwar habe ich ein Problem mit meinen Sessions.
Konfigurieren und per Bootstrap laden etc. funktioniert super.
Wenn icc mit z.B.
PHP:
$product = array($entity->getId() => $entity);
$session->shop = $product
Werte zuweise funktioniert das auch aber nur wenn noch nichts
in der Session drinnen steht. Wenn nun aber schon ein Wert drinnen steht
und ich ein neues array nach obigen Schema mit mehrerern key=>value-Paaren
dann wird das alte nicht überschrieben.

Hatt jemand eine Idee warum das so ist?

Ich hab auch schon gelesen das es eine SessionArrayStorage-Klasse gibt. Sollte ich
a) besser diese benutzen und
b) wenn (a === true ) gibt es dazu irgendwo Beispiele? Hab kurz geschaut und nur gelesen wie man es instanziiert
aber nicht wie man Werte zuweisen kann.
 
Das ist ein object(Zend\Session\Container) enthalten.
Hab mich auch gerade mit einem Bekannten unterhalten. Der hat es in
seiner ZF2 "Sandbox" getestet und bekommt auch nur den alten Wert.
Analog mit dem normalen $_SESSION funktioniert es einwandfrei.
Es scheint also als würde ZF2 da irgendwas nicht korrekt machen.
 
Bootstrap:
PHP:
$config = $serviceManager->get('session_config');        $sessionManager = new SessionManager($config); //Configdaten aus module.config.php        Container::setDefaultManager($sessionManager);
Holen des Containers:
PHP:
$container = new Container();
 
Gut das hab ich gemacht.
Eine Frage bezüglich dem holen der Session.
Wenn ich mir in einer Action mit
PHP:
new Container('shop');
meinen Container hole und Werte reinschreibe geht es.

Wenn ich nun aber in einer anderen Action mir den Container mit dem
gleichen Aufruf hole ist er leer. Denke mal das es daran liegt das er ja mit "new" geholt wird.
Wie sollte ich im Idealfall darauf zugreifen? Ich brauch die Session ja in mehrerern Actions.

EDIT:
Ich hab eine Klassenvariable in der ich den Container sichere und nur wenn diese Variable nicht gesetzt ist
wird ein neuer Contaner erzeugt.
 
Zuletzt bearbeitet:
Oben