企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# Session ## 简介 Session是一种比Cookie更安全的状态保存方式。Session理论上在退出浏览器时会失效,但取决于浏览器对Session的处理方法如何。Session的数据储存在服务器上,所以不易被篡改。PHP的Session借助Cookie来识别ID,从而达到不同客户端分配不同的SESSION ID,以防止“串号”现象发生。TarBlog的确基于PHP自身的Session实现方式,但是只调用两次$_SESSION,一次是在读取,一次是在保存,程序运行期间不操作$_SESSION。这样的好处是避免因Session读写导致并发时堵塞。除此之外,TarBlog还支持flash闪存Session,在下一次请求之后Session内容就会自动消失,用于一些系统提示。 ## 实现原理 首先在实例化该类时,读取一次$_SESSION到成员变量并关闭session,之后的操作则读写之前保存在成员变量中的数据;程序结束之前,进行一次$_SESSION的保存。(好奇怎么实现的?自己看bootstrapper就明白了) ## 常用方法 ### get($key, $default = null) 顾名思义,获取对应key的Session数据 ### set($key, $value, $saveNow = false) 设置Session值,第三个参数为true时会马上保存Session值,而不是到程序结束时才保存。 ### pop($key, $default = null) 类似于堆栈的弹出操作,获取对应key的Session数据后删除该数据。 ### flash($key, $value) 闪存Session数据,在下一次请求结束后被删除。