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

Php 访问cms页面时删除laravel5.2中的会话,php,laravel-5.2,Php,Laravel 5.2,我是拉威尔框架的新手。有人能告诉我当访问cms页面时如何删除会话吗(常见问题解答、隐私政策、关于我们)。此查询对我来说运行良好:- $request->session()->forget('key'); 问题是,当我访问faq页面时,我编写了此查询;当我访问隐私策略时,我又不得不编写此查询。谁能告诉我在一个函数中是怎么做的。所以我没有一次又一次地实现这个查询 提前感谢:)您可以在控制器上删除会话 在控制器构造方法中调用此函数 $request->session()->f

我是拉威尔框架的新手。有人能告诉我当访问cms页面时如何删除会话吗(常见问题解答、隐私政策、关于我们)。此查询对我来说运行良好:-

$request->session()->forget('key');
问题是,当我访问faq页面时,我编写了此查询;当我访问隐私策略时,我又不得不编写此查询。谁能告诉我在一个函数中是怎么做的。所以我没有一次又一次地实现这个查询


提前感谢:)

您可以在控制器上删除会话 在控制器构造方法中调用此函数

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

创建一个名为forgetSession的中间件(您可以有任何名称),并在app\Http\routes.php中为eg设置该中间件下的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');

这样,route group下面提到的所有route都将具有忘记会话的代码。通过这种方式,您肯定可以冗余代码。

Flush:-它将删除所有现有会话,即key我要删除特定会话然后使用忘记(“key”)请查看我的问题您没有要删除的密钥,然后首先获取所有会话数据$request->session()->忘记(“key”);我必须把这个代码放在handle函数中,或者放在handle函数的第一行