2016-09-29 3 views
1

laravelフレームワークの新機能です。 cmsページにアクセスしたときにセッションを削除する方法を教えてもらえますか(faq、プライバシーポリシー、私たちについて)。このクエリは、私のために正常に動作: -cmsページにアクセスしたときのlaravel5.2でのセッションの削除

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

問題は、私はFAQページにアクセスしたとき、私はこのクエリを記述していると私は再度のプライバシーポリシーにアクセスしたとき、私はこのクエリを記述する必要があることです。誰も私がどのように1つの機能で行うか教えてもらえますか?だから私は何度も何度も事前に

おかげでこのクエリを実装していない:)

答えて

2

forgetSessionという名前の一つのミドルウェアを作成します。 (任意の名前を付けることができます)、そのミドルウェアの下のapp \ Http \ routes.phpにcms pagesルートグループを設定します。今では、それはアプリ/ HTTP /ミドルウェア/ forrgetSession にミドルウェアを作成し、

$request->session()->forget('key'); 
あなたのコードを入れてCMDプロジェクトのルート

php artisan make:middleware forgetSession 

上のコマンドの下に書き込むことによって、ミドルウェアを作成

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

このように、ルートグループの下に記載されたすべてのルートには、セッションを忘れるコードがあります。これにより、コードを冗長にすることができます。

+0

$ request-> session() - > forget( 'key'); 私はこのコードをハンドル関数またはどこかに置かなければならない – kunal

+0

最初の行のハンドル関数ではい –

+0

okありがとう – kunal

0

を、あなたは、コントローラのcontruct方法であなたのコントローラで 呼び出し、これをセッションを削除することができ

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

フラッシュ: - それは、すべての既存のセッションは、私が(「key」を)忘れて使用、特定のセッション – kunal

+0

を削除したいキー 、すなわち削除します –

+0

あなたはすべてのセッションを取得まず削除したいキーを持っていけない – kunal

関連する問題