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-セッション名