- 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 - 會話管理
會話在 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** - 用於配置會話的行為方式。
預設配置足以使用會話。使用上述元件,可以輕鬆處理會話的所有方面。
會話元件示例
讓我們遵循以下幾點建立一個新頁面來理解 Zend 框架中的會話。預設情況下,建立 **Container** 類的例項足以管理會話。
在 **TutorialController** 中建立一個新的操作 **sessionAction**。
初始化一個 **Container** 物件。
$c = new Container();
檢查任意鍵 **count** 是否存在。如果該鍵不可用,則將 **count** 初始化為 1。如果可用,則遞增其值,如下面的程式碼所示。
if (!isset($c->count)) {
$c->count = 0;
} else {
$c->count++;
}
在 ViewModel 中註冊 count。
為 sessionAction 建立一個模板檔案 - session.phtml,位於 myapp/module/Tutorial/view/tutorial/tutorial/session.phtml,然後渲染 **count** 值。
重新整理頁面將增加會話中 **count** 的值。完整的列表如下所示:
TutorialController.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;
}
session.pthml
Session data, COUNT = <?= $this->count ?>
示例結果
Session data, Count = 5