Session
启动Web后,默认会有session
获取所有session
php
return request()->session()->all()
获取某一个session
php
// 获取其中一个 session
return request()->session()->get('_token');
// 参数 2,闭包设置默认值
return request()->session()->get('name', function () {
return 'no session name';
});
return Session::get('_token');
助手函数session()
php
// 获取 session 值
return session('_token');
// 获取 session 值并设置默认值
return session('name', 'no session name');
判断是否存在session有两种方案
php
// 判断是否存在且不为null
return Session::has('name');
// 判断是否存在,即使是null
return Session::exists('name');
存储session值
php
//设置 session 值
session(['name' => 'Mr.Lee']);
// 也支持 request()存储
Session::put('name', 'MrWang');
存储数组
php
//session 数组方式
Session::push('info.name', 'Mr.Lee');
Session::push('info.name', 'Mr.Wang');
Session::push('info.name', 'Mr.Zhang');
return Session::get('info');
闪存数据
php
// 存储的 session 只能被获取一次,然后自动删除,flash 也称为闪存数据
Session::flash('name', 'Mr.Lee');
// 本次请求获取,不要删除数据,给下一次请求时再自行删除,这是保存所有闪存数据
Session::reflash();
// 保存单独的删除数据
Session::keep(['name']);
return Session::get('name');
删除一条或多条 session 数据
php
// 删除一条数据
Session::forget('name');
Session::forget(['name'])
return Session::get('name');
// 删除一条数据,并返回
Session::pull('info');
// 删除所有数据
Session::flush();
重新生成 SessionID
php
//重新生成 SessionID
Session::regenerate();
// 获取 SessionID
return Cookie::get('laravel_session');