ThinkPHP采用think\facade\Cookie
类提供Cookie支持。
配置文件位于配置目录下的cookie.php
文件,无需手动初始化,系统会自动在调用之前进行Cookie初始化工作。
// 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
Cookie::forever('name','value');
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_');