Zend_Application-AvailableResources-Session.xml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  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> est utilisé pour configurer
  8. <classname>Zend_Session</classname> et éventuellement un support de sauvegarde sessions
  9. (SaveHandler).
  10. </para>
  11. <para>
  12. Pour créer un support de sauvegarde session, passez la clé <property>saveHandler</property>
  13. (non sensible à la casse) à la ressource. La valeur d'une telle option peut être&#160;:
  14. </para>
  15. <itemizedlist>
  16. <listitem><para>
  17. <type>String</type>&#160;: cette chaîne indique le nom d'une classe implémentant
  18. <classname>Zend_Session_SaveHandler_Interface</classname>.
  19. </para></listitem>
  20. <listitem><para>
  21. <type>Array</type>&#160;: avec les clés "class" et optionnellement
  22. "options", indiquant une classe à instancier (implémentant
  23. <classname>Zend_Session_SaveHandler_Interface</classname>) et un tableau d'options
  24. à passer à son constructeur.
  25. </para></listitem>
  26. <listitem><para>
  27. <classname>Zend_Session_SaveHandler_Interface</classname>&#160;: un objet
  28. implémentant cette interface.
  29. </para></listitem>
  30. </itemizedlist>
  31. <para>
  32. Toute autre option non reconnue sera alors passée à
  33. <methodname>Zend_Session::setOptions()</methodname> pour configurer
  34. <classname>Zend_Session</classname>.
  35. </para>
  36. <example id="zend.application.available-resources.session.configExample">
  37. <title>Exemple de ressource session</title>
  38. <para>
  39. Voici un fichier <acronym>INI</acronym> permettant de configurer une session via la
  40. ressource. Il affecte des options à <classname>Zend_Session</classname> et configure
  41. une instance de <classname>Zend_Session_SaveHandler_DbTable</classname>.
  42. </para>
  43. <programlisting language="ini"><![CDATA[
  44. resources.session.save_path = APPLICATION_PATH "/../data/session"
  45. resources.session.use_only_cookies = true
  46. resources.session.remember_me_seconds = 864000
  47. resources.session.saveHandler.class = "Zend_Session_SaveHandler_DbTable"
  48. resources.session.saveHandler.options.name = "session"
  49. resources.session.saveHandler.options.primary[].session_id = "session_id"
  50. resources.session.saveHandler.options.primary[].save_path = "save_path"
  51. resources.session.saveHandler.options.primary[].name = "name"
  52. resources.session.saveHandler.options.primaryAssignment[].sessionId = "sessionId"
  53. resources.session.saveHandler.options.primaryAssignment[].sessionSavePath = "sessionSavePath"
  54. resources.session.saveHandler.options.primaryAssignment[].sessionName = "sessionName"
  55. resources.session.saveHandler.options.modifiedColumn = "modified"
  56. resources.session.saveHandler.options.dataColumn = "session_data"
  57. resources.session.saveHandler.options.lifetimeColumn = "lifetime"
  58. ]]></programlisting>
  59. </example>
  60. <note>
  61. <title>Configurez votre base de données avant&#160;!</title>
  62. <para>
  63. Si vous configurez le gestionnaire
  64. <classname>Zend_Session_SaveHandler_DbTable</classname>, vous devez configurer
  65. votre base de données avant. Pour cela, servez vous de la ressource <link
  66. linkend="zend.application.available-resources.db">Db</link> et assurez vous
  67. que la clé "<property>resources.db</property>" apparaît bien avant la clé
  68. "<property>resources.session</property>". Vous pouvez aussi utiliser votre propre
  69. ressource qui initialise la base de données et affecte l'adaptateur
  70. <classname>Zend_Db_Table</classname> par défaut.
  71. </para>
  72. </note>
  73. </sect2>