web-dev-qa-db-fra.com

Comment supprimer une session dans Laravel 5.3 sans utiliser Request?

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 d'utilisateur. J'aimerais donc le faire sans la classe Request.

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

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?

4
cytsunny

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

session()->forget('some_data');
session()->flush();
11
Jerodev

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

2
Alexey Mezenin

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

1
Jishnu RS

Pour supprimer une variable de session dans Laravel 5.6 

session()->forget(['key1']);

pour supprimer les variables de session (plus la valeur supprimée de la session), utilisez les arguments comme arguments session () -> oubliez (['']);  

session()->forget(['key1','key1','key3','...']);
0
Nadeem Qasmi