1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 20763 -->
<!-- Reviewed: no -->
<sect2 id="zend.application.available-resources.session">
<title>Zend_Application_Resource_Session</title>
<para>
<classname>Zend_Application_Resource_Session</classname> erlaubt es
<classname>Zend_Session</classname> zu konfigurieren, sowie optional einen Session
SaveHandler zu initialisieren.
</para>
<para>
Um einen Session Save Handler zu setzen, muß einfach der Optionsschlüssel
<property>saveHandler</property> (Groß- und Kleinschreibung beachten) an die Ressource
übergeben werden. Der Wert dieser Option kann einer der folgenden sein:
</para>
<itemizedlist>
<listitem>
<para>
<type>String</type>: Ein String der eine Klasse benennt die
<classname>Zend_Session_SaveHandler_Interface</classname> implementiert und
initiiert werden soll.
</para>
</listitem>
<listitem>
<para>
<type>Array</type>: Ein Array mit den Schlüsseln "class", und optional
"options", das eine Klasse benennt die
<classname>Zend_Session_SaveHandler_Interface</classname> implementiert und iniiert
werden, und ein Array von Optionen die an dessen Contructor übergeben werden soll.
</para>
</listitem>
<listitem>
<para>
<classname>Zend_Session_SaveHandler_Interface</classname>: Ein Objekt welches dieses
Interface implementiert.
</para>
</listitem>
</itemizedlist>
<para>
Jeder andere übergebene Optionsschlüssel wird an
<methodname>Zend_Session::setOptions()</methodname> übergeben um
<classname>Zend_Session</classname> zu konfigurieren.
</para>
<example id="zend.application.available-resources.session.configExample">
<title>Beispiel der Konfiguration einer Session Ressource</title>
<para>
Anbei ist das Beispiel eines <acronym>INI</acronym> Abschnitts der zeigt wie die
Session Ressource konfiguriert werden kann. Er setzt verschiedene
<classname>Zend_Session</classname> Optionen, und konfiguriert eine
<classname>Zend_Session_SaveHandler_DbTable</classname> Instanz.
</para>
<programlisting language="ini"><![CDATA[
resources.session.save_path = APPLICATION_PATH "/../data/session"
resources.session.use_only_cookies = true
resources.session.remember_me_seconds = 864000
resources.session.saveHandler.class = "Zend_Session_SaveHandler_DbTable"
resources.session.saveHandler.options.name = "session"
resources.session.saveHandler.options.primary.session_id = "session_id"
resources.session.saveHandler.options.primary.save_path = "save_path"
resources.session.saveHandler.options.primary.name = "name"
resources.session.saveHandler.options.primaryAssignment.sessionId = "sessionId"
resources.session.saveHandler.options.primaryAssignment.sessionSavePath = "sessionSavePath"
resources.session.saveHandler.options.primaryAssignment.sessionName = "sessionName"
resources.session.saveHandler.options.modifiedColumn = "modified"
resources.session.saveHandler.options.dataColumn = "session_data"
resources.session.saveHandler.options.lifetimeColumn = "lifetime"
]]></programlisting>
</example>
<note>
<title>Die Datenbank zuerst bootstrappen!</title>
<para>
Wenn man den <classname>Zend_Session_SaveHandler_DbTable</classname> Session Save
Handler konfiguriert, muß man für diesen zuerst die Datenbank Verbindung konfigurieren
damit er arbeitet. Das kann entweder durch Verwendung der <link
linkend="zend.application.available-resources.db">Db</link> Ressource getan werden
-- und indem man sicherstellt das der "<property>resources.db</property>" Schlüssel vor
dem "<property>resources.session</property>" Schlüssel kommt -- oder durch Schreiben
einer eigenen Ressource welche die Datenbank initialisiert, und im speziellen den
standardmäßigen <classname>Zend_Db_Table</classname> Adapter setzt.
</para>
</note>
</sect2>
|