Logo
  • 欢迎使用 CodeIgniter4
    • 欢迎使用 CodeIgniter4
    • 服务器要求
    • 致谢
    • PSR 兼容性
    • 许可协议
  • 安装
    • Composer 安装
    • 手动安装
    • 运行您的应用程序
    • 故障排除
    • 变更日志
    • 从先前版本升级
    • CodeIgniter 代码库
  • 构建您的第一个应用程序
    • 静态页面
    • 新闻部分
    • 创建新闻条目
    • 结论
  • CodeIgniter4 概述
    • 应用程序结构
    • 模型、视图和控制器
    • 自动加载文件
    • 服务
    • 工厂
    • 使用 HTTP 请求
    • 安全指南
  • 一般主题
    • 配置
    • CodeIgniter URL
    • 助手函数
    • 全局函数和常量
    • 记录信息
    • 错误处理
    • 网页缓存
    • AJAX 请求
    • 代码模块
    • 管理您的应用程序
    • 处理多个环境
  • 控制器和路由
    • URI 路由
    • 控制器
    • 控制器过滤器
    • HTTP 消息
    • 请求类
    • IncomingRequest 类
    • 内容协商
    • HTTP 方法欺骗
    • RESTful 资源处理
  • 构建响应
    • 视图
    • 视图单元
    • 视图渲染器
    • 视图布局
    • 视图解析器
    • 视图装饰器
    • HTML 表格类
    • HTTP 响应
    • API 响应特性
    • 内容安全策略
    • 本地化
    • 视图文件的替代 PHP 语法
  • 使用数据库
    • 快速入门:使用示例
    • 数据库配置
    • 连接到数据库
    • 运行查询
    • 生成查询结果
    • 查询助手函数
    • 查询构建器类
    • 事务
    • 获取元数据
    • 自定义函数调用
    • 数据库事件
    • 数据库实用程序
  • 建模数据
    • 使用 CodeIgniter 的模型
    • 使用实体类
  • 管理数据库
    • 使用 Database Forge 进行数据库操作
    • 数据库迁移
    • 数据库播种
    • 数据库命令
  • 库参考
    • 缓存驱动程序
    • Cookie
    • CURLRequest 类
    • 电子邮件类
    • 加密服务
    • 使用文件
    • 文件集合
    • 蜜罐类
    • 图像操作类
    • 分页
    • 发布者
    • 安全
    • 会话库
    • 节流器
    • 时间和日期
    • 排版
    • 使用上传的文件
    • 使用 URI
    • 用户代理类
    • 验证
  • 助手
    • 数组助手
    • Cookie 助手
    • 日期助手
    • 文件系统助手
    • 表单助手
    • HTML 助手
    • Inflector 助手
    • 数字助手
    • 安全助手
    • 测试助手
    • 文本助手
    • URL 助手
    • XML 助手
  • 测试
    • 入门
    • 数据库
    • 生成数据
    • 控制器测试
    • HTTP 测试
    • 测试响应
    • 基准测试
    • 调试您的应用程序
    • 模拟
  • 命令行使用
    • CLI 概述
    • 通过 CLI 运行控制器
    • Spark 命令
    • 创建 Spark 命令
    • CLI 生成器
    • CLI 库
    • CLIRequest 类
  • 扩展 CodeIgniter
    • 创建核心系统类
    • 替换常用函数
    • 事件
    • 扩展控制器
    • 身份验证
    • 创建 Composer 包
    • 为 CodeIgniter 做出贡献
  • 官方包
CodeIgniter
  • 助手
  • Cookie 助手

Cookie 助手

Cookie 助手文件包含用于处理 Cookie 的函数。

  • 加载此助手

  • 可用函数

加载此助手

此助手使用以下代码加载

<?php

helper('cookie');

可用函数

以下函数可用

set_cookie($name[, $value = ''[, $expire = ''[, $domain = ''[, $path = '/'[, $prefix = ''[, $secure = false[, $httpOnly = false[, $sameSite = '']]]]]]])
参数:
  • $name (array|Cookie|string) – Cookie 名称 或 所有可用于此函数的参数的关联数组 或 CodeIgniter\Cookie\Cookie 的实例

  • $value (string) – Cookie 值

  • $expire (int) – 到期前的秒数。如果设置为 0,则 cookie 将仅在浏览器打开时持续存在

  • $domain (string) – Cookie 域名(通常为:.yourdomain.com)

  • $path (string) – Cookie 路径

  • $prefix (string) – Cookie 名称前缀。如果为 '',则使用 **app/Config/Cookie.php** 中的默认值

  • $secure (bool) – 是否仅通过 HTTPS 发送 cookie。如果为 null,则使用 **app/Config/Cookie.php** 中的默认值

  • $httpOnly (bool) – 是否将 cookie 隐藏在 JavaScript 中。如果为 null,则使用 app/Config/Cookie.php 中的默认值

  • $sameSite (string) – SameSite cookie 参数的值。如果为 null,则使用 app/Config/Cookie.php 中的默认值

返回类型:

void

注意

在 v4.2.7 之前,由于一个 bug,$secure 和 $httpOnly 的默认值是 false,并且 app/Config/Cookie.php 中的这些值从未被使用。

此辅助函数为您提供了更友好的语法来设置浏览器 cookie。有关其用法的描述,请参阅 响应库,因为此函数是 CodeIgniter\HTTP\Response::setCookie() 的别名。

注意

此辅助函数只是将浏览器 cookie 设置到 Services::response() 返回的全局响应实例。因此,如果您创建并返回另一个响应实例(例如,如果您调用 redirect()),则此处设置的 cookie 不会自动发送。

get_cookie($index[, $xssClean = false[, $prefix = '']])
参数:
  • $index (string) – Cookie 名称

  • $xssClean (bool) – 是否对返回的值应用 XSS 过滤

  • $prefix (string|null) – Cookie 名称前缀。如果设置为 '',将使用 app/Config/Cookie.php 中的默认值。如果设置为 null,则没有前缀

返回:

Cookie 值,如果未找到则为 null

返回类型:

mixed

注意

从 v4.2.1 开始,引入了第三个参数 $prefix,并且由于错误修复,行为略有改变。有关详细信息,请参阅 升级。

此辅助函数为您提供了更友好的语法来获取浏览器 cookie。有关其用法的详细说明,请参阅 IncomingRequest 库,因为此函数与 CodeIgniter\HTTP\IncomingRequest::getCookie() 的行为非常相似,只是它还会在您可能在 app/Config/Cookie.php 文件中设置的 Config\Cookie::$prefix 前面添加前缀。

警告

使用 XSS 过滤是一种不好的做法。它不能完美地防止 XSS 攻击。建议在视图中使用 esc() 和正确的 $context。

delete_cookie($name[, $domain = ''[, $path = '/'[, $prefix = '']]])
参数:
  • $name (string) – Cookie 名称

  • $domain (string) – Cookie 域名(通常为:.yourdomain.com)

  • $path (string) – Cookie 路径

  • $prefix (string) – Cookie 名称前缀

返回类型:

void

允许您删除 cookie。除非您设置了自定义路径或其他值,否则只需要 cookie 的名称。

<?php

delete_cookie('name');

此函数与 set_cookie() 相同,只是它没有 value 和 expire 参数。

此函数也只为全局响应实例设置浏览器 cookie,以便删除 cookie,该实例由 Services::response() 返回。

注意

当您使用 set_cookie() 时,如果 value 设置为空字符串,并且 expire 设置为 0,则 cookie 将被删除。如果 value 设置为非空字符串,并且 expire 设置为 0,则 cookie 将仅在浏览器打开时存在。

您可以在第一个参数中提交一个值数组,也可以设置离散参数。

<?php

delete_cookie($name, $domain, $path, $prefix);
has_cookie(string $name[, ?string $value = null[, string $prefix = '']])
参数:
  • $name (string) – Cookie 名称

  • $value (string|null) – Cookie 值

  • $prefix (string) – Cookie 前缀

返回类型:

bool

检查全局响应实例中是否存在名为 $name 的 cookie,该实例由 Services::response() 返回。这是 CodeIgniter\HTTP\Response::hasCookie() 的别名。

上一页 下一页

© Copyright 2019-2024 CodeIgniter Foundation. 最后更新于 2024 年 1 月 27 日。

使用 Sphinx 和 Read the Docs 提供的 主题 构建。