- Zend Framework 教程
- Zend Framework - 首页
- Zend Framework - 简介
- Zend Framework - 安装
- 框架应用
- Zend Framework - MVC 架构
- Zend Framework - 概念
- Zend Framework - 服务管理器
- Zend Framework - 事件管理器
- Zend Framework - 模块系统
- 应用结构
- Zend Framework - 创建模块
- Zend Framework - 控制器
- Zend Framework - 路由
- Zend Framework - 视图层
- Zend Framework - 布局
- 模型与数据库
- 不同的数据库
- 表单与验证
- Zend Framework - 文件上传
- Zend Framework - Ajax
- Cookie 管理
- 会话管理
- Zend Framework - 身份验证
- 邮件管理
- Zend Framework - 单元测试
- Zend Framework - 错误处理
- Zend Framework - 工作示例
- Zend Framework 有用资源
- Zend Framework - 快速指南
- Zend Framework - 有用资源
- Zend Framework - 讨论
Zend Framework - Cookie 管理
Cookie 在 Web 应用中是一个非常重要的概念。它提供了一个选项,可以在浏览器中持久保存用户数据,通常是一小段信息,并且仅保存有限的时间。
Cookie 用于维护 Web 应用的状态。Zend Framework 在 **zend-http** 组件中提供了一个 Cookie 模块。这个 zend-http 提供了 HTTP 抽象及其实现。
安装 HTTP 组件
可以使用下面的代码中指定的 **Composer** 轻松安装 HTTP 组件。
composer require zendframework/zend-http
概念
zend-http 提供了 **Zend\Http\Cookies** 类来管理 Cookie。它与 **Zend\Http\Client** 类一起使用,后者用于向 Web 服务器发送请求。Cookie 可以像下面代码中所示那样初始化:
use Zend\Http\Cookies $c = new Cookies();
当 HTTP 客户端 (Zend\Http\Client) 首次向 Web 服务器发送 URI 请求时,它没有任何 Cookie。一旦 Web 服务器收到请求,它会在其响应对象中包含 Cookie 作为 **HTTP 头部,Set-Cookie** 并将其发送到 HTTP 客户端。HTTP 客户端将从 HTTP 响应中提取 Cookie,并在后续请求中将其作为相同的 HTTP 头部重新发送。通常,每个 Cookie 将映射到一个域和该域的路径。
**Cookies** 类中可用的方法如下:
**addCookie(uri)** - 用于将 Cookie 添加到给定 URI 的请求对象中。
**getCookie(cookieName, $cookieForm)** - 用于获取给定 URI **$uri** 中可用的 Cookie,$cookieName。第三个参数是 Cookie 的返回方式,字符串或数组。
**fromResponse(uri)** - 用于从给定 URI 的响应对象中提取 Cookie。
**addCookiesFromResponse** - 与 fromResponse 相同,但它会再次提取并将 Cookie 添加到给定 URI 的请求对象中。
**isEmpty()** - 用于查找给定的 **Cookie** 对象是否包含任何 Cookie。
**reset()** - 用于清除给定 URI 中的所有 Cookie。
在下一章中,我们将讨论 Zend Framework 中的会话管理。