2017-11-29 2 views
0

Laravel을 처음 사용하고 버전 5.5에서 작업하고 있습니다. 내 지식을 위해, 나는 커스텀 파사드를 만들었고, 이제는 세션의 가치를 얻으려고 시도 할뿐만 아니라이 파사드에 세션 값을 설정하려고합니다.Laravel 5.5의 custom facade에서 세션 사용 방법

하지만 Laravel은이 맞춤형 외장에서 세션을 설정할 수 없습니다. 컨트롤러에서 똑같은 일을한다면 잘 작동합니다.

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 
} 

심지어 내가 아래 링크의 솔루션을 시도 :

How to use session in custom class laravel 5?

그러나 아무것도 변화 아래

내가 시도 내 가능한 방법입니다. 이 문제에 대해 누구나 솔루션을 공유하십시오.

미리 감사드립니다.

답변

0

맞춤 외관은 세션과 관련이 없습니다. web 미들웨어가 세션 서비스를 시작하기 때문에 setUserSession()을 호출하는 곳이 web 미들웨어이므로

+0

이므로이 기능을 컨트롤러에서 호출하려고합니다. 내 컨트롤러 경로에는 웹 미들웨어와 맞춤형 미들웨어가 있습니다. 한가지 더, Laravel5.4에서 시도한 것과 똑같은 일이 잘 진행되고 있습니다. 즉 세션이 5.4에서 생성되었습니다. – Dhirender

+0

세션 드라이버가 무엇입니까? 캐시 시스템에서 문제가 발생할 수 있습니다. BTW, Session :: set ('user', 'some values')는 거기에 set 메서드가 없으므로 항상 오류를 반환합니다. – mark

관련 문제