Zend_Frameworkユーザーマニュアルのセクションのより正確な解釈。
オリジナル: Zend_Session_SaveHandler_DbTable
この同じZend_Session_SaveHandler_DbTableを使用すると、セッション情報(およびセッションデータ)がデータベースに保存されるようにZend_Sessionを構成できます。
Zend_Session_SaveHandler_DbTable
セッションを保存するには、少なくとも4つのパラメーターを保存する必要があります。 すなわち:
- sid-彼はセッション識別子であり、その長さは32です
- 変更-セッション変更の日付、UNIXタイムスタンプ形式
- 寿命-このセッション自体の寿命(変更+寿命>時間())
- data-実際には、シリアル化された形式でセッションに保存されたデータ
保存する必要があるデータを決定したら、データベースにテーブルを作成します。
CREATE TABLE `session` (
`id` char(32),
`modified` int,
`lifetime` int,
`data` text,
PRIMARY KEY (`id`)
);
デフォルトでは、セッション識別子が主キーになります。
次。 (他のすべてはindex.phpに書かれています)
// , $db
$db = Zend_Db::factory('Pdo_Mysql', array(
'host' =>'example.com',
'username' => 'dbuser',
'password' => '******',
'dbname' => 'dbname'
));
//
Zend_Db_Table_Abstract::setDefaultAdapter($db);
// config Zend_Session_SaveHandler_DbTable
$config = array(
'name' => 'session',
'primary' => 'id',
'modifiedColumn' => 'modified',
'dataColumn' => 'data',
'lifetimeColumn' => 'lifetime'
);
// Zend_Session_SaveHandler_DbTable
// Zend_Session
Zend_Session::setSaveHandler(new Zend_Session_SaveHandler_DbTable($config));
// ( )
Zend_Session::start();
$ config
name-データベース内のテーブルの名前
primary-テーブルの主キーであるテーブルフィールド
modifiedColumn-フィールドテーブルの変更日
dataColumn-テーブルフィールド軟骨データセッション
lifetimeColumn-テーブルフィールドのうなり寿命
マニュアルの2番目の例では、複数の値を主キーとして使用するオプションを検討しています。 ここには書きませんでした。
プライマリには、プライマリキーに含まれるフィールドのリストを含む配列を指定します。
primaryAssignmentを通じて、適切な値を割り当てます。
sessionId-セッション識別子
sessionSavePath-絶対セッションパス
sessionName-セッション名