类别:ThinkPHP / 日期:2019-12-17 / 浏览:209 / 评论:0

最新的6.0版本对框架的Session和Cookie机制举行了从新设想,摆脱了原有设想的约束。

Session

新的Session机制不依赖PHP内置的Session会话机制,完整自力完成,上风在于能够兼容任何的运转环境,而且设置参数也大为简化。

新版你不能再运用$_SESSION或许任何php内置的session函数操纵Session,必需经由过程think\Session类或许think\facade\Session静态代办类操纵Session数据。

Session关于许多API接口运用来讲,不是必需的,而跟着前后端星散的运用架构设想越来越多,因而6.0的Session默许是封闭的,体系把Session相干的功能设想成一个自力的中间件,假如你须要运用Session能够单独在运用的中间件定义文件中开启。

默许装置后,在app目录下的middleware.php中间件定义文件中,对大概须要运用的体系中间件预置了解释,你能够直接作废解释,加上:

// Session初始化
'think\\middleware\\SessionInit',

该中间件的作用主如果初始化SessionId,并注入当前的请求对象。初始化的时刻会自动读取config目录下的session.php设置。

默许运用文件的体式格局保留Session数据,支撑运用redis、memcache以及memcached。

内置的Session驱动默许设置下,都是支撑跨运用读取Session数据的。假如你须要辨别差别的运用,坚持各个运用的Session数据自力,能够在运用的session设置文件中设置prefix参数,比方:

'prefix' => 'admin',

而且为了防备Session数据过量,文件体式格局写入Session数据的时刻支撑垃圾接纳机制。能够设置gc_divisor和gc_maxlifetime两个参数来设置GC接纳。

Session数据会在当前请求完毕后,自动写入,平常只会写入一次。Session数据写入之前会首先举行序列化,默许的序列化要领是serialize/unserialize,你能够在session设置文件中设置serialize参数(数组)来转变默许的序列化机制,比方:

'serialize' => ['json_encode', 'json_decode'],

Session类自身的用法和之前版本基础一致,增加了push要领用于追加一个session数组。

Cookie

Cookie的存取机制是离开设想的,读取操纵是经由过程$_COOKIE读取,写入则经由过程可扩大的体式格局满足差别运转环境的Cookie写入请求。Cookie数据的写入操纵也是在当前请求发送相应数据之前一致写入。

但在实际运用中,Cookie的用法和之前相似,区分在于不再支撑前缀设置和清空操纵。

ki4网,大批的免费ThinkPHP入门教程,迎接在线进修!

本文转自:https://blog.thinkki4.cn/1077719

以上就是ThinkPHP6.0:Session和Cookie机制的变化的细致内容,更多请关注ki4网别的相干文章!

打赏

感谢您的赞助~

打开支付宝扫一扫,即可进行扫码打赏哦~

版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。

 可能感兴趣的文章