- Zend 框架教程
- Zend 框架 - 主页
- Zend 框架 - 简介
- Zend 框架 - 安装
- 骨架应用
- Zend 框架 - MVC 架构
- Zend 框架 - 概念
- Zend 框架 - 服务管理器
- Zend 框架 - 事件管理器
- Zend 框架 - 模块系统
- 应用结构
- Zend 框架 - 创建模块
- Zend 框架 - 控制器
- Zend 框架 - 路由
- Zend 框架 - 视图层
- Zend 框架 - 布局
- 模型和数据库
- 不同的数据库
- 表格和验证
- Zend 框架 - 文件上传
- Zend 框架 - Ajax
- Cookie 管理
- 会话管理
- Zend 框架 - 身份验证
- 电子邮件管理
- Zend 框架 - 单元测试
- Zend 框架 - 错误处理
- Zend 框架 - 工作示例
- Zend 框架有用的资源
- Zend 框架 - 快速指南
- Zend 框架 - 有用的资源
- Zend 框架 - 讨论
Zend 框架 - 会话管理
Session 是 Web 应用程序中一个非常重要的概念。它提供了在有限时间内将用户数据保留在 Web 服务器中的选项。Zend框架提供了一个单独的组件zend-session来处理会话信息。
安装会话组件
可以使用Composer安装会话组件,如下所示 -
composer require zendframework/zend-session
会话组件
Zend 框架提供了六个组件来处理会话管理。所有这些组件均已解释如下 -
Zend\Session\Container - 读取和写入会话信息的主要 API。
Zend\Session\SessionManager - 它用于管理会话的整个生命周期。
Zend\Session\Storage - 用于指定会话数据如何存储在内存中。
Zend\Session\SaveHandler - 用于将会话数据存储和检索到物理位置,如 RDBMS、Redis、MangoDB 等。
Zend\Session\Validator - 用于通过交叉检查初始和后续请求的远程地址和用户代理来保护会话免受劫持。
Zend\Session\Config\SessionConfig - 用于配置会话的Behave方式。
默认配置足以处理会话。使用上述组件,可以轻松处理会话的各个方面。
会话组件示例
让我们按照以下几点来创建一个新页面来理解Zend框架中的会话。默认情况下,创建Container类的实例来管理会话就足够了。
在TutorialController中创建一个新操作sessionAction。
初始化一个容器对象。
$c = new Container();
检查是否存在任意键数。如果该键不可用,则将计数初始化为值 1。如果可用,则增加该值,如以下代码所示。
if (!isset($c->count)) { $c->count = 0; } else { $c->count++; }
在 ViewModel 中注册计数。
在 myapp/module/Tutorial/view/tutorial/tutorial/session.phtml 中创建 – sessionAction、session.phtml 的模板文件,然后渲染计数值。
刷新页面会增加会话中的计数值。完整列表如下 -
教程控制器.php
public function sessionAction() { $c = new Container(); if (!isset($c->count)) { $c->count = 0; } else { $c->count++; } $view = new ViewModel([ 'count' => $c->count, ]); return $view; }
会话.pthml
Session data, COUNT = <?= $this->count ?>
结果示例
Session data, Count = 5