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?
Vous pouvez utiliser l'assistant de session sans avoir à utiliser d'objet de requête.
session()->forget('some_data');
session()->flush();
Dans Laravel 5.3, vous pouvez toujours utiliser les méthodes flush()
et forget()
:
session()->flush();
session()->forget('key');
ajoutez session()->save();
après cela.
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','...']);