2016-01-04 2 views
3

Эта функция получит значение сеансаКак установить сессию в одном методе и получить данные сессии в другом методе в Laravel 5,2

public function getSession(){ 
    $value =Session::get('email'); 
    var_dump($value) ; 
} 

эту функцию использовать для установки значений сессии

public function setSession(){ 
    Session::put('email', 'aaaaaaa.com'); 

    $value=Session::get('email'); 
    var_dump($value); 

} 

routes.php

Route::get('store','[email protected]'); 
Route::get('display','[email protected]'); 

когда тип дисплея в URL это шоу NULL

+0

Какую версию laravel вы используете? – Moppo

+0

б/у laravel 5.2 – sasy

ответ

2

Поскольку вы используете Laravel 5.2, вероятно, вам нужно настроить маршруты под группой 'web', чтобы иметь возможность использовать сеанс.

В самом деле, Laravel инициализирует сеанс в \Illuminate\Session\Middleware\StartSession::class промежуточного слоя, который сгруппирован по группе 'web' промежуточного слоя (как вы можете видеть из файла Kernel.php)

Таким образом, чтобы использовать сеанс, ваши маршруты должны использовать это middlware:

Route::group(['middleware' => ['web']], function() { 
    Route::get('store','[email protected]'); 
    Route::get('display','[email protected]'); 
}); 

Кроме того, я предлагаю вам закрыть цикл запроса должным образом, чтобы быть уверенным, что сеанс будет установлен, например:

public function setSession(){ 
    Session::put('email', 'aaaaaaa.com'); 
    $value=Session::get('email'); 

    //this will end the request-lifecycle 
    return Response::json(['result' => 'ok']); 
} 
0

Если вы недавно установите laravel 5.2, вы увидите, что в файле маршрута добавлено промежуточное ПО ['web'], которое входит в класс \ Illuminate \ Session \ Middleware \ StartSession ::, и если вы будете использовать сеанс в эта группа в маршруте, сеанс будет работать там хорошо или если вы используете какую-либо другую группу, тогда вы должны использовать это промежуточное программное обеспечение.

 Смежные вопросы

  • Нет связанных вопросов^_^