此函数将获取会话值
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','Product@setSession');
Route::get('display','Product@getSession');
当在url中键入display时,它显示NULL
当您使用Laravel 5.2时,您可能必须在'web'
组下设置路由才能使用会话。
事实上,Laravel在'Illuminate'Session'Middleware'StartSession::class
中间件中初始化Session,该中间件分组在'web'
中间件组下(从Kernel.php
文件中可以看到)
因此,要使用会话,您的路由应该使用中间件:
Route::group(['middleware' => ['web']], function () {
Route::get('store','Product@setSession');
Route::get('display','Product@getSession');
});
此外,我建议您正确关闭请求周期,以确保会话将被设置,例如:
public function setSession(){
Session::put('email', 'aaaaaaa.com');
$value=Session::get('email');
//this will end the request-lifecycle
return Response::json(['result' => 'ok']);
}
如果你要新安装laravel 5.2,你可以在路由文件中看到一个中间件['web']被添加到''Illuminate''Session''middleware''StartSession::class下,如果你要在路由中使用该组下的会话,会话在那里会正常工作,或者如果你使用任何其他组,那么你必须使用该中间件。