Cookie
最后更新于:2022-04-01 21:25:40
## 概述
ThinkPHP采用`think\Cookie`类提供Cookie支持。
|版本|新增功能|
|---|---|
|5.0.4|增加`forever`方法用于永久保存|
## 基本操作
### 初始化
~~~
// cookie初始化
Cookie::init(['prefix'=>'think_','expire'=>3600,'path'=>'/']);
// 指定当前前缀
Cookie::prefix('think_');
~~~
支持的参数及默认值如下:
~~~
// cookie 名称前缀
'prefix' => '',
// cookie 保存时间
'expire' => 0,
// cookie 保存路径
'path' => '/',
// cookie 有效域名
'domain' => '',
// cookie 启用安全传输
'secure' => false,
// httponly设置
'httponly' => '',
// 是否使用 setcookie
'setcookie' => true,
~~~
### 设置
~~~
// 设置Cookie 有效期为 3600秒
Cookie::set('name','value',3600);
// 设置cookie 前缀为think_
Cookie::set('name','value',['prefix'=>'think_','expire'=>3600]);
// 支持数组
Cookie::set('name',[1,2,3]);
~~~
### 判断
~~~
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_');
~~~
## 助手函数
系统提供了cookie助手函数用于基本的cookie操作,例如:
~~~
// 初始化
cookie(['prefix' => 'think_', 'expire' => 3600]);
// 设置
cookie('name', 'value', 3600);
// 获取
echo cookie('name');
// 删除
cookie('name', null);
// 清除
cookie(null, 'think_');
~~~
';