Cours 33 — Les sessions
Introduction
Une session permet de conserver des informations entre plusieurs pages.
Symfony utilise automatiquement les sessions pour gérer les utilisateurs connectés.
Exemple
1
2
3
4
5
| Connexion utilisateur
↓
Session créée
↓
Navigation sur le site
|
L’utilisateur reste connecté.
Récupérer la session
1
| $session = $request->getSession();
|
Enregistrer une valeur
1
2
3
4
| $session->set(
'prenom',
'Gérard'
);
|
Lire une valeur
1
2
3
| $prenom = $session->get(
'prenom'
);
|
Supprimer une valeur
1
2
3
| $session->remove(
'prenom'
);
|
Détruire la session
1
| $session->invalidate();
|
Résultat :
1
| Toutes les données de session sont supprimées.
|
Exemple complet
1
2
3
4
5
6
7
8
9
10
| $session = $request->getSession();
$session->set(
'prenom',
'Gérard'
);
$prenom = $session->get(
'prenom'
);
|
Utilisation fréquente
1
2
3
4
| Utilisateur connecté
Panier
Préférences
Messages temporaires
|
Comprendre le processus
1
2
3
4
5
6
7
| Navigateur
↓
Session
↓
Données conservées
↓
Nouvelle page
|
Conclusion
Les sessions permettent de conserver des informations entre plusieurs requêtes.
Méthodes à retenir :
1
2
3
4
5
6
7
| set()
get()
remove()
invalidate()
|