配置
session配置文件位于config/session.hpp 默认情况下使用session驱动为文件驱动,在生产环境中,建议使用memcache或者redis驱动以便获取更快的session性能。
其它Session相关问题
Laravel框架内部使用flash session键,所以你不应该通过该名称添加数据项到session。
如果你需要所有存储的session数据经过加密,在配置文件中设置encrypt配置为true。
session基本使用
获取session中的所有数据
$request->session()->all();
使用全局的PHP函数session来获取和存储session中的数据
从session中获取数据...
$value = session('key');
存储数据到session...
session(['key' => 'value']);
$request->session()->put('key', 'value');
push 方法可用于推送数据到值为数组的session
$request->session()->push('user.teams', 'developers');
判断session是否存在指定的项
if ($request->session()->has('users')) { }
获取并删除数据
value=value=request->session()->pull('key', 'default');
删除session中的数据项
$request->session()->forget('key'); //删除指定数据项数据
$request->session()->flush(); //删除所有数据
重新生成sessionID
$request->session()->regenerate();
一次性数据
$request->session()->flash('status', 'Task was successful!');//该方法存储的session数据只在随后的HTTP请求中有效,然后将会被删除
如果你需要在更多请求中保持该一次性数据,可以使用reflash方法,该方法将所有一次性数据保留到下一个请求,如果你只是想要保存特定一次性数据,可以使用keep方法
request−>session()−>reflash();request−>session()−>reflash();request->session()->keep(['username', 'email']);
View展示session数据
{{ Session::get('username') }}