Zend_Application-AvailableResources-Session.xml 4.0 KB

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