一.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 所有内容
========================================
然后:
Request::session('user');
//读取session,参数为名称
Request::session();
//读取session 所有内容
session('里面有值就获取一个')
session('没有值就获取所有')
4. ::get()第二参数,可以设置当不存在值的时候,设置一个默认值;
Session::get('name')//name 不存在时返回nullSession::get('name', '')//name 不存在时返回空
get("参数一获取值","参数二不存在时返回一个默认值")
5. ::has()判断是否赋值,::delete()删除,::pull()取值后删除;
Session::has('user');Session::delete('user');Session::pull('user');//不存在则返回null
::has存在就返回true
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');
一.Cookie
1. Cookie是客户端存储,默认情况下是开启初始化的,在config/cookie.php;
2. ::set()方法,创建一个最基本的cookie,可以设置前缀、过期时间、数组等;
Cookie::set('user', 'Mr.Lee');Cookie::set('user', 'Mr.Lee', 3600);//临时保存,关闭浏览器消失
//3600 秒
Request::cookie('user');Request::cookie();
=========================
使用cookie设置3600秒
=========================
get是没有设置cookie的
=========================
如果要取值
3. ::forever()方法,永久保存Cookie(就是十年的意思);
Cookie::forever('user', 'Mr.Lee');
4. ::has()判断是否存在,:get()取值,::delete()删除cookie;
Cookie::has('user');Cookie::get('user');Cookie::delete('user');
二.助手函数
1. 助手函数,更加方便操作,如下:
echo cookie('user');//输出
cookie('user', 'Mr.Lee', 3600); //设置
cookie('user', null);//删除