ZendFramework-セッション管理
セッションは、Webアプリケーションで非常に重要な概念です。限られた期間、Webサーバーにユーザーのデータを保持するオプションを提供します。Zendフレームワークは、別個のコンポーネントを提供します。zend-session セッション情報を処理します。
セッションコンポーネントをインストールする
セッションコンポーネントは、を使用してインストールできます Composer 以下に指定されているように-
composer require zendframework/zend-session
セッションコンポーネント
Zend Frameworkは、セッション管理を処理するための6つのコンポーネントを提供します。これらのコンポーネントはすべて以下で説明されています-
Zend\Session\Container −セッション情報を読み書きするためのメインAPI。
Zend\Session\SessionManager −セッションのライフサイクル全体を管理するために使用されます。
Zend\Session\Storage −これは、セッションデータをメモリに保存する方法を指定するために使用されます。
Zend\Session\SaveHandler − RDBMS、Redis、MangoDBなどの物理的な場所にセッションデータを保存および取得するために使用されます。
Zend\Session\Validator −これは、最初と後続のリクエストのリモートアドレスとユーザーエージェントをクロスチェックすることにより、セッションをハイジャックから保護するために使用されます。
Zend\Session\Config\SessionConfig −セッションの動作を構成するために使用されます。
デフォルト構成は、セッションで機能するのに十分です。上記のコンポーネントを使用すると、セッションのすべての側面を簡単に処理できます。
セッションコンポーネントの例
Zend Frameworkのセッションを理解するための新しいページを作成するために、次の点を順守しましょう。デフォルトでは、のインスタンスを作成するだけで十分です。Container セッションを管理するクラス。
新しいアクションを作成し、 sessionAction に TutorialController。
初期化 Container オブジェクト。
$c = new Container();
任意のキーかどうかを確認します count存在します。キーが利用できない場合は、count 値1を使用します。使用可能な場合は、次のコードに示すように値をインクリメントします。
if (!isset($c->count)) {
$c->count = 0;
} else {
$c->count++;
}
ViewModelにカウントを登録します。
myapp / module / Tutorial / view / tutorial / tutorial / session.phtmlに– sessionAction、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 ?>
Sample Result
Session data, Count = 5