如何在不使用Request的情况下删除Laravel 5.3中的会话?

时间:2017-01-26 07:48:47

标签: php laravel session laravel-5 laravel-5.3

我在控制器中有一个需要处理会话的方法。该方法由一个不需要任何用户输入的get方法调用,所以我想在没有Request类的情况下进行。

目前,我可以设置会话,但我找不到删除它的方法。它看起来像这样:

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

在Laravel 4.2中,它使用Session::forget('some_data');Session::flush()完成。应该如何在Laravel 5.3中完成?

4 个答案:

答案 0 :(得分:12)

您可以使用the session helper而无需使用请求对象。

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

答案 1 :(得分:2)

在Laravel 5.3中,您仍然可以使用flush()forget()方法:

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

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

答案 2 :(得分:1)

在此之后添加session()->save();

答案 3 :(得分:0)

删除Laravel 5.6中的会话变量

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

删除会话变量(更多从会话中删除一个值)使用参数作为参数 session() - >忘记(['']);

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