thinkphp6.0 Session

Session 是服务端存储,在使用 Session 之前,需要开启初始化,在中间件文件 middleware.php

// Session 初始化
\think\middleware\SessionInit::class

TP6.0 不支持原生$_SESSION 的获取方式,也不支持 session_开头的函数;

直接使用::set()和::get()方法去设置 Session 的存取:

Session::set('user', 'Mr.Lee'); //设置 session,参数 1 名称,参数 2 值
Session::get('user'); //读取 session,参数为名称
Session::all() //读取 session 所有内容
Request::session('user'); //读取 session,参数为名称
Request::session(); //读取 session 所有内容

::get()第二参数,可以设置当不存在值的时候,设置一个默认值:

Session::get('name') //name 不存在时返回 null
Session::get('name', '') //name 不存在时返回空

::has()判断是否赋值,::delete()删除,::pull()取值后删除:

Session::has('user');
Session::delete('user');
Session::pull('user'); //不存在则返回 null

::clear()清空整个 session:

Session::clear('');

::flash()方法,设置闪存数据,只请求一次有效的情况,再请求会失效:

Session::flash('user','Mr.Lee');

二维和助手函数助手函数更方便操作

二维操作,就是对象和数组的调用方式,如下:

// 赋值(当前作用域)
Session::set('obj.user','Mr.Lee');
// 判断(当前作用域)是否赋值
Session::has('obj.user');
// 取值(当前作用域)
Session::get('obj.user');
// 删除(当前作用域)
Session::delete('obj.user');

助手函数,更加方便操作,如下:

//赋值
session('user', 'Mr.Wang');
//has 判断
session('?user');
//delete 删除
session('user', null);
//清理全部
session(null);
//输出
echo session('user');
THE END
喜欢就支持一下吧
点赞10 分享