簡體   English   中英

訪問cms頁面時在laravel5.2中刪除會話

[英]Delete session in laravel5.2 when cms pages accessed

我是laravel框架的新手。 誰能告訴我如何在訪問cms頁面時刪除會話,例如(常見問題,隱私政策,關於我們)。 此查詢對我來說運行良好:-

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

問題是,當我訪問常見問題頁面時,我已經寫了這個查詢,而當我訪問隱私策略時,我又不得不寫了這個查詢。 誰能告訴我我在一項功能中的工作。 所以我沒有一次又一次地執行此查詢

提前致謝 :)

創建一個名為忘記會話的中間件(您可以使用任何名稱),並在該中間件下的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');

因此,以這種方式,在路由組下提到的所有路由都將具有忘記會話的代碼。 這樣肯定可以冗余代碼。

您可以在控制器上刪除會話,在控制器構造方法中調用此方法

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM