使用Session
- 获取数据
使用Rquest 类获取
$request->session()->get('key'); // 获取session key的值
$request->session()->get('key', 'default'); //获取session key的值,如果没有设置key的职位default
$request->session()->get('key', function() {
return 'default';
}); //使用闭包
$request->session()->all(); //获取全部session
$request->session()->has('users') // 判断session是否存在键users,如果存在并且不为 null 的话返回 true
$request->session()->exists('users') //判断session是否存在键users,如果键存在的话 exists 返回 true:
全局 session 辅助函数
session('key'); // 获取session key的值
session('key', 'default'); //获取session key的值,如果没有设置key的职位default
session(['key' => 'value']); // 存储数据到session...
- 存储数据
$request->session()->put('key', 'value'); //存储key
session(['key' => 'value']); //存储key
$request->session()->push('user.teams', 'developers'); //如果user.teams是数组,用输出的方式存储user.teams的值developers
$value = $request->session()->pull('key', 'default'); //获取key的值 并删除key
- 一次性数据
$request->session()->flash('status', '登录Laravel学院成功!'); // 在 Session 中存储只在下个请求中有效的数据
$request->session()->reflash(); // 在更多请求中保持该一次性数据
$request->session()->keep(['username', 'email']); //只是想要保存特定一次性数据
- 删除数据
$request->session()->forget('key'); // Session 中移除指定数据
$request->session()->flush(); //要从 Session 中移除所有数据
重新生成 Session ID
$request->session()->regenerate();
根据sessionId获取对应的session
$dada = Session::all();
$sessionId = "id";
$request->session()->setId($sessionId);
Session::start();
$dada = Session::all();
$user = Auth::user();