info@a-coding-project.de

Arbeiten mit Sessions in Laravel

Das Arbeiten mit Sessions in Laravel ist einfachen. Neben dem Speichern und Auslesen von Daten in einer Session zeigen wir auch, wie Du Sessions z.B. in Redis oder in der Datenbank speichern kannst.

Wie funktionieren Sessions in Laravel?

Das wichtigste Element, um Sessions in Laravel zu nutzen, ist die Facade Session. Sie bietet alle Funktionen, die man im Umgang mit Sessions benötigt.

Laravel speichert standardmäßig die Session-ID in dem Cookie laravel_session. Dies lässt sich in der Datei /config/session.php in der Variable cookie anpassen.

In der gleichen Konfigurationsdatei lassen sich unter anderem auch Lifetime und Verschlüsselung der Cookies einstellen.

Die Daten der Session werden standardmäßig in das Verzeichnis /storage/framework/sessions gespeichert. Wenn die Verschüsselung aktiviert ist, kann man sich die Dateien darin auch einfach mal ansehen.

Daten in die Session schreiben

Die einfachste Möglichkeit Daten in die Session zu schreiben, ist über die Helper-Funktion session. Hier kannst Du die zu speichernden Daten einfach als PHP-Array übergeben.

session(['key' => 'value']);

Daten aus der Session auslesen

Auch das Auslesen von Daten aus der Session geht über die session-Methode:

session('key');

Session in Datenbank auslagern

Um Sessions in der Datenbank zu speichern, muss zunächst die entsprechende Tabelle erstellt werden. Das geht am besten über die Laravel-Migrations. Führe dazu folgenden Befehl aus, um eine Migration für die session-Tabelle zu generieren:

php artisan session:table

Im nächsten Schritt musst du über Artisan die Migrations durchführen:

php artisan migrate

Nun kannst Du in die Datei /config/session.php gehen und driver auf database stellen.

Session in Redis

Um die Performance von Sessions zu verbessern kann man die Daten über Redis auch im Arbeitsspeicher legen. Zunächst einmal müsst Du dazu die Verbindung zwischen Laravel und Redis schaffen. Wie das genau geht erfährst Du hier.

Danach könnt ihr den Wert driver in der /config/session.php auf Redis setzen.

Laravel Entwickler gesucht?

Wir haben bereits viel Erfahrung im Umgang mit Laravel und VUE.js.
Nehmen Sie gerne unverbindlich Kontakt zu uns auf.

zum Angebot

Über uns

Stefan Wienströer

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project

Auch interessant