会话控制:
会话支持一般都是指的是cookie和session。在php核心中有说及php对于cookie和session支持,在ThinkPHP中系统为了方便开发的使用,也封装了相应cookie和session方法。
session的支持:
在ThinkPHP中系统封装了一个方法用来实现对于session的操作:session方法(定义在系统函数库文件中functions.php)。
session(‘name’,’value’) 创建一个名为name的session值,值是value
$value = session(‘name’) 读取session中的name元素值,值赋给value
session(‘name’,null) 删除名为name元素的值
session(null) 删除全部的session元素
session() 读取全部的session信息
session(‘?name’) 判断名为name的session元素是否存在,如果存在则返回true,如果不存在,则返回false。
案例:在方法中使用session方法session进行操作。
//session
public function test(){
//设置
session('name','韩信');
session('name2','李白');
dump($_SESSION);
//读取单个
$value = session('name');
dump($value);
//清空单个
session('name',null);
dump($_SESSION);
//全部删除
session('name3','鲁班七号');
//session(null);
//dump($_SESSION);
//读取全部
dump(session());
//判断某个session是否存在
dump(session('?name3'));
}
输出结果:
cookie的支持:
cookie(‘name’,’value’) 设置一个名为name的cookie值,值是value
cookie(‘name’,’value’,3600) 设置一个名为name的cookie值,值是value,有效期是3600s
$value = cookie(‘name’) 读取名为name的cookie赋值给value
cookie(‘name’,null) 删除名为name的cookie值
cookie(null) 删除全部的cookie //手册上注明可以使用,但是实际开发时无法使用,需要更改底层代码来实现
cookie() 获取全部的cookie
案例:通过cookie方法对cookie进行操作。
//cookie
public function test(){
//设置没有有效期的cookie
cookie('name','关羽');
//设置带有有效期的cookie
cookie('name2','张飞',3600);
//获取单个cookie值
dump(cookie('name2'));
//清空单个
cookie('name',null);
//获取全部
dump(cookie());
}
输出结果: