Un tutoriel pour enregistrer les informations de session des utilisateurs dans la base de données au lieu des fichiers.
Le protocole HTTP étant sans état, les sessions offrent un moyen de stocker les informations de l'utilisateur à travers les requêtes HTTP.
Par défaut, Laravel enregistre les informations de session des utilisateurs dans des fichiers. Nous pouvons le voir à travers le fichier config/session.php où la configuration des sessions est définie :
...
'driver' => env('SESSION_DRIVER', 'file')
...
Cette ligne montre que le "driver" (pilote) pour la session est renseigné par la variable "SESSION_DRIVER" au fichier .env avec "file" comme valeur par défaut.
En cherchant cette variable au fichier .env, nous trouvons cette ligne :
...
SESSION_DRIVER=file
...
Les informations des sessions sont donc enregistrées dans des fichiers que nous pouvons retrouver au répertoire storage/framework/sessions.
Hormis utiliser les fichiers pour sauvegarder les informations de session, Laravel propose d'autres moyens tels que les cookies, memcached, redis, ... Nous allons voir au point suivant comment enregistrer ces informations dans la base de données.
Pour enregistrer les informations des sessions des utilisateurs dans la base de données, nous avons besoin de :
Ouvrez la console (l'invite de commandes) à la racine de votre projet, exécutez la commande suivante pour créer le fichier de migration de la table "sessions" (database/migrations/..._create_sessions_table.php) :
php artisan session:table
Ensuite la commande suivante pour migrer la table "sessions" :
php artisan migrate
La table "sessions" se présente de la manière suivante :
Elle nous donne accès aux informations suivantes de l'utilisateur :
Editez le fichier .env en modifiant la valeur "file" en "database" pour la variable "SESSION_DRIVER " :
...
SESSION_DRIVER=database
...
Et lorsque maintenant un utilisateur viendra sur l'application, nous aurons ses informations dans la table "sessions" :
Avec les informations collectées, nous pouvons compter le nombre d'utilisateurs authentifiés, connaître les navigateurs qu'ils utilisent le plus, faire des statistiques, ...
Cette publication vous a plu ?
Partagez-la avec vos ami(e)s sur les réseaux sociaux.
Wilo Ahadi, l'auteur
Passionné de l'informatique, je suis spécialiste en techniques des systèmes et réseaux, développeur web et mobile, infographiste et designer, ... J'aime partager mon expérience en formant sur la plateforme Akili School
Voir profilAutres publications
Voir toutes les publication de Wilo Ahadi
Sélection ebook
10 Laravel tips and techniques for your next PHP project
Développement web
Commentaires