J'ai une méthode dans un contrôleur qui doit gérer la session. Cette méthode est appelée par une méthode get qui ne nécessite aucune entrée utilisateur, donc je voudrais le faire sans la classe Request.

Actuellement, je suis en mesure de définir la session, mais je ne trouve pas de moyen de la supprimer. Cela ressemble à quelque chose comme ceci:

if ($boolean_storing_condition_value)
    session(['some_data'=>'Some Data']);
else
   /* What should be the unset function? */

Dans Laravel 4.2, cela se fait avec Session::forget('some_data'); ou Session::flush(). Comment cela devrait-il être fait dans Laravel 5.3?

8
cytsunny 26 janv. 2017 à 10:48

3 réponses

Meilleure réponse

Vous pouvez utiliser l'assistant de session sans avoir à utiliser un objet de requête.

session()->forget('some_data');
session()->flush();
17
Jerodev 26 janv. 2017 à 07:52

Dans Laravel 5.3, vous pouvez toujours utiliser les méthodes flush() et forget():

session()->flush();
session()->forget('key');

https://laravel.com/docs/5.3/session#deleting-data

3
Alexey Mezenin 26 janv. 2017 à 07:53

Ajoutez session()->save(); après cela.

2
Jishnu RS 14 déc. 2018 à 16:30