Zend_Application-AvailableResources-Session.xml 4.2 KB

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