【ThinkPHP6.x框架】(22)Session、Cookie、缓存

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,参数为名称,不存在时返回null
Session::get('name', '')             //name不存在时返回空
Session::all()                       //读取  session所有内容 
Request::session('user');            //读取  session,参数为名称
Request::session();                  //读取  session所有内容

        ::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');

Cookie

Cookie

        Cookie是客户端存储,默认情况下是开启初始化的,在config/cookie.php。

        ::set()方法,创建一个最基本的  cookie,可以设置前缀、过期时间、数组等:

Cookie::set('user', 'Mr.Lee');                 //临时保存,关闭浏览器消失
Cookie::set('user', 'Mr.Lee', 3600);           //3600秒
Request::cookie('user');
Request::cookie();

        ::forever()方法,永久保存  Cookie(就是十年的意思):

Cookie::forever('user', 'Mr.Lee');

        ::has()判断是否存在,:get()取值,::delete()删除 cookie:

Cookie::has('user');
Cookie::get('user');
Cookie::delete('user');

助手函数

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

echo cookie('user');             //输出 
cookie('user', 'Mr.Lee', 3600);  //设置
cookie('user', null);            //删除

缓存功能

缓存功能

        系统内置了很多类型的缓存,除了  File,其它均需要结合相关产品。这里主要演示File文本缓存。配置文件cache.php进行缓存配置,默认生成在runtime/cache目录。

        ::set()方法,可以设置一个缓存,参数三为过期时间:

Cache::set('user', 'Mr.Lee');
Cache::set('user', 'Mr.Lee', 3600);

        ::has()方法,判断缓存是否存在,返回布尔值:

Cache::has('user');

        ::get()方法,从缓存中获取到相应的数据,无数据返回null:

Cache::get('user');

        ::inc()和::dec()实现缓存数据的自增和自减操作:

Cache::inc('num');
Cache::inc('price', 3);
Cache::dec('num');
Cache::dec('price', 3);

        ::push()实现缓存的数组数据追加的功能:

Cache::set('arr', [1,2,3]);
Cache::push('arr', 4);

        ::delete()方法,可以删除指定的缓存文件:

Cache::delete('user');

        ::pull()方法,先获取缓存值,然后再删除掉这个缓存,无数据返回null:

Cache::pull('user');

        ::remember()方法,如果数据不存在,则写入数据,可以依赖注入:

Cache::remember('start_time', time());
Cache::remember('start_time', function (Request $request) {});

        ::clear()方法,可以清除所有缓存:

Cache::clear();

        ::tag()标签,可以将多个缓存归类到标签中,方便统一管理,比如清除:

Cache::tag('tag')->set('user', 'Mr.Lee');
Cache::tag('tag')->set('age', 20);
Cache::tag('tag')->clear();

        助手函数的使用:cache():

//设置缓存
cache('user', 'Mr.Lee', 3600); 
//输出缓存
echo cache('user'); 
//删除指定缓存 
cache('user', null);

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值