访问cms页面时,删除laravel5.2中的会话

时间:2016-09-29 11:39:33

标签: php laravel-5.2

我是laravel框架的新手。任何人都可以告诉我如何在访问cms页面时删除会话,即(faq,隐私政策,关于我们)。这个查询对我运行正常: -

$request->session()->forget('key');

问题是,当我访问faq页面时,我已经编写了此查询,当我访问隐私策略时,我再次编写此查询。任何人都可以告诉我如何在一个功能。所以我没有一次又一次地实现这个查询

提前致谢:)

2 个答案:

答案 0 :(得分:2)

创建一个名为forgetSession的中间件(您可以拥有任何名称),并在该中间件下的app \ Http \ routes.php中设置cms页面路由组,例如。

Route::group(['middleware' => ['forgetSession']], function () {
    Route::resource('faq', 'faqController');
    Route::resource('privacy', 'privacyController');//likewise
});

现在通过在cmd项目根目录上编写以下命令来创建中间件

php artisan make:middleware forgetSession

因此它将在app / Http / middleware / forrgetSession中创建中间件 并把你的代码

$request->session()->forget('key');

因此,通过这种方式,路由组下提到的所有路由都将具有忘记会话的代码。这种方式绝对可以使代码冗余。

答案 1 :(得分:0)

您可以删除控制器上的会话      在控制器构造方法中调用它

$request->session()->forget('key'); //remove by  key
$request->session()->flush(); // remove all