2017-10-07 3 views
0

Ich benutze Laravel 5.5 und versuche, eine Variable in der Sitzung zu speichern. Ich verwende den globalen Helfer session(). SoLaravel Session-Methoden funktionieren nur einmal

ich dies tun:

session(['a' => 'b']); 

dd(session()->all()) 

nur zum Testen, und da ist es jedoch, wenn ich zu aktualisieren, und ich nehmen Sie die erste Zeile, die a Variable ist weg?

Auch forget(), flush(), und alle anderen Methoden funktionieren nur einmal in der Anfrage. Sobald Sie aktualisieren, ist alles weg.

+0

tun. Besuchen Sie diese Seite, auf der Sie die Sitzung eingerichtet haben, und überprüfen Sie Ihre Laravel-Sitzungscookies. Wenn Sie die Seite das nächste Mal besuchen, überprüfen Sie, ob der Cookie-Wert dem vorherigen Wert entspricht. – apokryfos

Antwort

1

dd Helper Funktion in Laravel testen die Variable Dump und die Ausführung des Skripts zu beenden. So beenden Sie diese Ausführung

session(['a' => 'b']); 

Dieses Skript wird überhaupt nicht ausgeführt.

Versuchen Sie das Skript zurückkehren oder versuchen, dieses kleine Experiment mit nativen PHP-Funktionen wie var_dump() oder print_r()

+0

Ich dachte, die Sitzungsfunktion wäre die gleiche wie '$ _SESSION ['a'] = 'b';'. Es braucht also eine Antwort auf die Anfrage zum Speichern/Entfernen von Daten? – nick

+0

Sie können entweder den globalen Sitzungshelfer oder die Anforderungsfunktion verwenden. Sie verwenden den globalen Sitzungshelfer und sind absolut gültig, genauso wie $ _SESSION ['a'] = 'b' – zuif

0

Soweit ich mich erinnere, sollten Sie dd() für solche Tests nicht verwenden. Verwenden Sie einfach var_dump und alles sollte wie erwartet funktionieren.

Auch wenn es immer noch nicht funktioniert, stellen Sie sicher, es in web Middleware Gruppe

Verwandte Themen