概述

ThinkPHP采用think\Cookie类提供Cookie支持。

版本新增功能
5.0.4增加forever方法用于永久保存

基本操作

初始化

  1. // cookie初始化
  2. Cookie::init(['prefix'=>'think_','expire'=>3600,'path'=>'/']);
  3. // 指定当前前缀
  4. Cookie::prefix('think_');

支持的参数及默认值如下:

  1. // cookie 名称前缀
  2. 'prefix' => '',
  3. // cookie 保存时间
  4. 'expire' => 0,
  5. // cookie 保存路径
  6. 'path' => '/',
  7. // cookie 有效域名
  8. 'domain' => '',
  9. // cookie 启用安全传输
  10. 'secure' => false,
  11. // httponly设置
  12. 'httponly' => '',
  13. // 是否使用 setcookie
  14. 'setcookie' => true,

设置

  1. // 设置Cookie 有效期为 3600秒
  2. Cookie::set('name','value',3600);
  3. // 设置cookie 前缀为think_
  4. Cookie::set('name','value',['prefix'=>'think_','expire'=>3600]);
  5. // 支持数组
  6. Cookie::set('name',[1,2,3]);

判断

  1. Cookie::has('name');
  2. // 判断指定前缀的cookie值是否存在
  3. Cookie::has('name','think_');

获取

  1. Cookie::get('name');
  2. // 获取指定前缀的cookie值
  3. Cookie::get('name','think_');

删除

删除cookie

  1. Cookie::delete('name');
  2. // 删除指定前缀的cookie
  3. Cookie::delete('name','think_');

清空

  1. // 清空指定前缀的cookie
  2. Cookie::clear('think_');

助手函数

系统提供了cookie助手函数用于基本的cookie操作,例如:

  1. // 初始化
  2. cookie(['prefix' => 'think_', 'expire' => 3600]);
  3. // 设置
  4. cookie('name', 'value', 3600);
  5. // 获取
  6. echo cookie('name');
  7. // 删除
  8. cookie('name', null);
  9. // 清除
  10. cookie(null, 'think_');