怎么样使用在Laravel中使用会话?
1.可以是请求的对象$request一般控制器中。
2.可以是一个全局类Session。
配置Redis做单点登录(前提必须有Redis的服务器)
1.composer require predis/predis安装
2.找到.evn更改配置
SESSION_DRIVER=redis
3.找config/database.php文件更改reids的扩展(前提是你php.ini加这个扩展phpredis)
1.找到数组里面的redis改配置
'client' => 'phpredis',
1.存储会话数据
1.全局
1.session(['key', 'value']);
2.session::put('key', value);
3.在 Session 数组中保存数据
1.$request->session()->push('user.teams', 'developers');
2.session::push('user.teams', 'developers');
2.请求的对象
1.$request->session()->put('key', 'value');
2.$request->session(['key', 'value']);
2.获取会话数据
1.全局
1.session::get('key');
可以使用默认值:
session::get('key', 'default');
2.获取全部session数据
1.session::all();
2.$request->session()->all();
2.请求对象
1.$request->session()->get('key');
默认值:
$request->session()->get('key', 'default');
2.获取全部session数据
$request->session()->all();
3.判断会话中是否存在某个值
1.全局
session::has('key');
session::exists('key');
2.请求对象
1.$request->session()->has('users');
2.$request->session()->exists('users');
4.删除会话中的值
1.检索删除
1.$request->seesion()->pull('key', 'default');
2.session::pull('key', 'default');
2.删除数据
1.$request->session()->forget('key');
2.$request->session()->flush('key');
注:同样可以用全局类session
5.重新生成的SessionID
1.$request->session()->regenerate();
注:同样可以用全局类Session
6.设置在session_start生成的sessionId的储存客户端时间
1.可以文件config\session.php
更改 'lifetime'=> 100,
2.注意以上单位是分钟