Wie man einen Sitzungsbehälter in Zend framework2 löscht
Ich habe vor kurzem angefangen mit dem erstellen einer Anwendung mit Zend Framework 2 , ich habe gute Erfahrung in ZF1 , das große problem, ich bin mit hier mit ZF2 ist mit sessions .
Hier ist der Weg, ich bin das anlegen einer session-container .
use Zend\Session\Container;
//Session erstellen des Containers: ( vorher waren wir nenne es wie namespaces )
$session_user = new Container('user');
$session_user_errors = new Container('usererrors');
$session_user_shares = new Container('usershares');
Nun Wie diesem habe ich mehrere Container ,
Konnte ich klar ein Schlüssel einer bestimmten container wie diese
//Immer den Wert aus der session, mit Schlüssel: ( get-Wert aus dem Namensraum )
$email = $session_user->offsetGet('email');
//Setzt den Wert in der session: ( setzen Sie den Wert aus dem Namensraum )
$session_user->offsetSet('username', 'abcd');
Nun mein problem ist klar, einen ganzen container, die in mehreren Ebenen meiner Anwendung .
Wenn ich versuche den code unten Ihre clearing alle meine session Container .
$session_user = new Container('user');
$session_user->getManager()->getStorage()->clear();
Möchte ich klar, nur der container, der sogenannten "user", die viele Schlüssel ( ich weiß nicht was alle wird es am Ende ) . Gibt es eine Möglichkeit, dies zu erreichen
Ich weiß, dass ich tun kann, offsetunset auf jede Taste, aber das ist nicht die Optimale Lösung finde ich .
Bitte freundlich darauf hin, wenn es keine alternative Möglichkeit gibt es zu deaktivieren einer bestimmten session-container .
HINWEIS : - ich bin nicht mit jedem der Module von Drittanbietern wie ZfcUser und Akrabat Sitzungen
Vielen Dank im Voraus für Antworten auf dieses posting .
InformationsquelleAutor der Frage aravind.udayashankara | 2013-03-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie fast hatte, die Sie gerade brauchen, um passieren Sie den namespace an die clear-Methode
Können Sie immer noch behandeln die $_SESSION wie ein array, damit das folgende funktioniert auch
InformationsquelleAutor der Antwort Crisp
Folgenden werden die details für die Zerstörung der session in der Zend Framework 2:
Mit Grundlegenden PHP-Funktionen
session_start()
Funktion startet die Sitzung.session_destroy()
Funktion löscht ALLE die gespeicherten Daten in session-array.Nun mit dem Zend Framework-Funktionen:
Für klares Verständnis ermöglicht als erstes erstellen Sie eine session in der Zend Framework und stellen Sie dann einen Prozess Löschen.
Wo user_session ist der name der session-array Schlüssel für die Speicherung der Informationen.
InformationsquelleAutor der Antwort Mohd Belal
Die Lösung, gepostet Von @Crisp arbeitete wie ein Charme, Aber das hier ist der alternative Weg, was ich fand, nach einer Forschung um dieses problem zu lösen
Ich fühle session manager ist der, den wir verwenden müssen, verwalten Sie Sitzungen, ob klar oder Lesen und container ist eines der Entität, die verwaltet wird durch den Sitzungs-manager .
Dies kann anderen helfen, die besitzergreifend in die Erstellung von Objekten jeder Sitzung container und call clear-Methode .
InformationsquelleAutor der Antwort aravind.udayashankara
All das zu zerstören Sitzungen:
verwenden Sie die einfache php-zerstören-Funktion:
Diese Funktion löscht alle sessions.
Ich hoffe, das hilft.
InformationsquelleAutor der Antwort user2644574
In ZF2, für Container verwenden;
Create container:
Setzen Sie die variable in container
Zerstören-container (NUR der BEHÄLTER)
InformationsquelleAutor der Antwort Agustincl
Kann man klar session, wie diese:
$this->session->exchangeArray(array());
InformationsquelleAutor der Antwort Lucas Tourinho Cavalcante