2017-11-29 6 views
0

私はLaravelを使い始め、バージョン5.5で作業しています。私の知る限り、私はカスタムファサードを作成しましたが、今はセッションの価値をこのファサードに設定しようとしています。Laravel 5.5のカスタムファサードでのセッションの使い方

しかし、Laravelはこのカスタムファサードでセッションを設定できません。私がコントローラーで同じことをしたら、うまくいきます。

以下

は、私が試してみました、私の可能な方法です:

How to use session in custom class laravel 5?

しかし、何も変更:

public function setUserSession() { 
    //Ist way 
    session()->put('user', 'some values'); 
    var_dump(session()->has('user')); // this is returning me false 

    //2nd way 
    request()->session()->put('user', 'some values'); 
    var_dump(request()->session()->has('user')); // this is returning me false 

    Session::set('user', 'some values'); //this is giving me error 
    /* for above line I have include below namespace: 
     1.Illuminate\Support\Facades\Session 
    */ 
    var_dump(Session::get('user')); // this is returning me false 
} 

でも私は、リンク以下のソリューションを試してみました。この問題の解決策を誰かが共有してください。

ありがとうございました。

答えて

0

カスタムファサードはセッションとは関係ありません。 webミドルウェアwebミドルウェアがセッションサービスを開始するため、setUserSession()を呼び出す場所がwebミドルウェアであることを確認してください。

+0

はい、コントローラからこの関数を呼び出しています。私のコントローラルートにはWebミドルウェアとカスタムミドルウェアがあります。もう1つ、Laravel5.4で試しているのと同じことですが、うまくいきます。セッションが5.4で作成されました – Dhirender

+0

セッションドライバは何ですか、この問題はキャッシュシステムで発生する可能性があります。ところで、Session :: set( 'user'、 'some values')は、そこにsetメソッドがないので、常にエラーを返します – mark

関連する問題