# 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'); ```