[MANUAL] English:
[zend.git] / documentation / manual / he / module_specs / Zend_Session-SaveHandler-DbTable.xml
blob69280f548b67bd623bd258b7c4bc29a1a29a058b
1 <sect1 id="zend.session.savehandler.dbtable">
2     <title>Zend_Session_SaveHandler_DbTable</title>
3     <para>
4         ההתקנה הבסיסית של Zend_Session_SaveHandler_DbTable חייבת לכלול לפחות 4 עמודות,
5         המצויינים בקובץ ההגדרות/אובייקט ההגדרות:
6         primary, אשר הוא המפתח הראשי וכברירת מחדל מוגדר למזהה היחודי אשר בעצם סטרינג באורך 32 תווים;
7         modified, אשר משמש בתור זמן בפורמט UNIX של התאריך עדכון האחרון;
8         lifetime, אשר משמש בתור תקופת החיים של ה session (modified + lifetime > time() );
9         data, אשר משמש בתור המידע אשר נשמר בטבלה.
10     </para>
11     <example id="zend.session.savehandler.dbtable.basic">
12             <title>שימוש בסיסי</title>
13             <programlisting role="SQL"><![CDATA[
14 CREATE TABLE `session` (
15   `id` char(32),
16   `modified` int,
17   `lifetime` int,
18   `data` text,
19   PRIMARY KEY (`id`)
21 ]]>
22 </programlisting>
23         <programlisting role="php"><![CDATA[
24 //get your database connection ready
25 $db = Zend_Db::factory('Pdo_Mysql', array(
26     'host'        =>'example.com',
27     'username'    => 'dbuser',
28     'password'    => '******',
29     'dbname'    => 'dbname'
30 ));
32 //you can either set the Zend_Db_Table default adapter
33 //or you can pass the db connection straight to the save handler $config
34 Zend_Db_Table_Abstract::setDefaultAdapter($db);
35 $config = array(
36     'name'           => 'session',
37     'primary'        => 'id',
38     'modifiedColumn' => 'modified',
39     'dataColumn'     => 'data',
40     'lifetimeColumn' => 'lifetime'
43 //create your Zend_Session_SaveHandler_DbTable and
44 //set the save handler for Zend_Session
45 Zend_Session::setSaveHandler(new Zend_Session_SaveHandler_DbTable($config));
47 //start your session!
48 Zend_Session::start();
50 //now you can use Zend_Session like any other time
51 ]]>
52         </programlisting>
53     </example>
54     <para>
55         ניתן גם להשתמש בכמה מפתחות ראשיים לכמה עמודות ב Zend_Session_SaveHandler_DbTable.
56     </para>
57     <example id="zend.session.savehandler.dbtable.multi-column-key">
58         <title>שימוש במפתח ראשי לכמה עמודות</title>
59         <programlisting role="SQL"><![CDATA[
60 CREATE TABLE `session` (
61     `session_id` char(32) NOT NULL,
62     `save_path` varchar(32) NOT NULL,
63     `name` varchar(32) NOT NULL DEFAULT '',
64     `modified` int,
65     `lifetime` int,
66     `session_data` text,
67     PRIMARY KEY (`Session_ID`, `save_path`, `name`)
69 ]]>
70 </programlisting>
71         <programlisting role="php"><![CDATA[
72 //setup your DB connection like before
73 //NOTE: this config is also passed to Zend_Db_Table so anything specific
74 //to the table can be put in the config as well
75 $config = array(
76     'name'              => 'session', //table name as per Zend_Db_Table
77     'primary'           => array(
78         'session_id',   //the sessionID given by PHP
79         'save_path',    //session.save_path
80         'name',         //session name
81     ),
82     'primaryAssignment' => array( //you must tell the save handler which columns you
83                                   //are using as the primary key. ORDER IS IMPORTANT
84         'sessionId',          //first column of the primary key is of the sessionID
85         'sessionSavePath',    //second column of the primary key is the save path
86         'sessionName',        //third column of the primary key is the session name
87     ),
88     'modifiedColumn'    => 'modified',     //time the session should expire
89     'dataColumn'        => 'session_data', //serialized data
90     'lifetimeColumn'    => 'lifetime',     //end of life for a specific record
93 //Tell Zend_Session to use your Save Handler
94 Zend_Session::setSaveHandler(new Zend_Session_SaveHandler_DbTable($config));
96 //start your session
97 Zend_Session::start();
99 //use Zend_Session as normal
101         </programlisting>
102     </example>
103 </sect1>
104 <!--
105 vim:se ts=4 sw=4 et: