TP5中Session和Cookie的基础用法
Session的基础用法
赋值
-
// 赋值(当前作用域)
-
Session::set('name','thinkphp');
-
// 赋值think作用域
-
Session::set('name','thinkphp','think');
判断是否存在
-
// 判断(当前作用域)是否赋值
-
Session::has('name');
-
// 判断think作用域下面是否赋值
-
Session::has('name','think');
取值
-
// 取值(当前作用域)
-
Session::get('name');
-
// 取值think作用域
-
Session::get('name','think');
如果name的值不存在,返回null
。
删除
-
// 删除(当前作用域)
-
Session::delete('name');
-
// 删除think作用域下面的值
-
Session::delete('name','think');
指定作用域
-
// 指定当前作用域
-
Session::prefix('think');
取值并删除
-
// 取值并删除
-
Session::pull('name');
如果name的值不存在,返回Null
。
清空
-
// 清除session(当前作用域)
-
Session::clear();
-
// 清除think作用域
-
Session::clear('think');
Cookie
设置
// 设置Cookie 有效期为 3600秒Cookie::set('name','value',3600);
// 设置cookie 前缀为think_
Cookie::set('name','value',['prefix'=>'think_','expire'=>3600]);
// 支持数组
Cookie::set('name',[1,2,3]);
判断
Cookie
- 502 - 本文档使用 看云 构建
Cookie::has('name');
// 判断指定前缀的cookie值是否存在
Cookie::has('name','think_');
获取
Cookie::get('name');
// 获取指定前缀的cookie值
Cookie::get('name','think_');
删除
删除cookie
Cookie::delete('name');
// 删除指定前缀的cookie
Cookie::delete('name','think_');
清空
// 清空指定前缀的cookie
Cookie::clear('think_');
2.是结合项目
在这里我遇到的问题是前台这个位置的问题。开始时是这样写的{Session::get('变量名')}
因为要换成TP5的格式,看前台需要用{$Request.session.name}或者{$Think.session.name}的格式,但是我因为已经用了php标签再用这个会报错,因为他是默认解析成<?php echo....?>的格式的。所以我改成了这个样子。
说到底解决的问题就是tp5版本的session信息怎么在前台输出,而且在输出前用PHP进行预处理(比如一些简单的判断判断)。