Thinkphp 6.0的Session

本节课我们来学习一下系统提供的 Session 存储功能,以及二维和助手函数。


一.Session


1. 在使用 Session 之前,需要开启初始化,在中间件文件 middleware.php;

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


2. TP6.0 不支持原生$_SESSION 的获取方式,也不支持 session_开头的函数;
3. 直接使用::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 所有内容


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

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


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

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


6. ::clear()清空整个 session;

Session::clear('');


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

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


二.二维和助手函数


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

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


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

//赋值
session('user', 'Mr.Wang');
//has 判断
session('?user');
//delete 删除
session('user', null);
//清理全部
session(null);
//输出
echo session('user');

你可能感兴趣的:(php,php,前端,开发语言)