Le protocole HTTP est sans état, donc avec les technologies de cookies et de session, ils travaillent ensemble pour maintenir un état. Il est très pratique de définir et d’obtenir des sessions dans Laravel. Ensuite, jetons un coup d’œil.
Configuration
La session est enregistrée sur le serveur. La session par défaut est enregistrée dans un fichier sur le serveur. Cependant, cette méthode n'est pas efficace. Actuellement, il est courant de sauvegarder la session dans une base de données tierce telle que Redis ou Memcached. Ces lectures et écritures nosql sont très efficaces et plus faciles à gérer. Voyons ensuite comment Laravel configure la session
Le fichier de configuration de session de Laravel se trouve dans config/session.php. Dans ce fichier de configuration, vous pouvez configurer la méthode de stockage de la session, la durée de validité, etc.
Si vous devez configurer la méthode de stockage sur redis, vous devez modifier l'élément de configuration du pilote et le remplacer par redis. De plus, il prend également en charge le stockage local (par défaut), le stockage de bases de données relationnelles, etc.
Obtenir la valeur de session
Voyons d'abord comment obtenir la valeur de session, qui peut être obtenue en répondant à la méthode de session du requête d'instance. Le code de démonstration est le suivant :
$request->session()->get('key');
Le deuxième paramètre de la méthode get est utilisé pour définir la valeur par défaut. Si la valeur de session correspondante n'est pas obtenue, la valeur par défaut est renvoyée. est la suivante :
$request->session()->get('key', 'default');
Non. Les deux paramètres peuvent également être une fonction de rappel, et une valeur par défaut
$request->session()->get('key', function () { return 'default'; });
est renvoyée via la fonction de rappel. également être obtenus via la fonction de session globale. Leur utilisation est cohérente.
Vous pouvez également obtenir toutes les valeurs de session à la fois grâce à la méthode all, qui renvoie un tableau :
$request->session()->all();
Laravel fournit également une méthode pour déterminer facilement si la session existe, en utilisant la méthode has
if ($request->session()->has('key')) {}
Il existe également une méthode exist. La différence entre elle et has est que has doit exister et ne pas être vide pour renvoyer vrai, tandis que exist renvoie vrai tant qu'il existe.
Définir la valeur de la session
Il existe deux façons de définir la session. Voici le code de démonstration :
$request->session()->put('key', 'val'); session(['key1' => 'val1', 'key2' => 'val2']);
<.> Supprimer la valeur de la session
Vous pouvez supprimer la session spécifiée via la méthode d'oubli, et vous pouvez également supprimer toutes les sessions via le vidage. Voici le code de démonstration :$request->session()->forget('k1'); $request->session()->forget(['k1', 'k2', 'k3']); $request->session()->flush();Recommandations associées : "
tutoriel Laravel"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!