Zend_Session-Introduction.xml 6.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.session.introduction">
  5. <title>Введение</title>
  6. <para>
  7. Командой Zend Framework Auth приветствуются Ваши отзывы и предложения в списке рассылки
  8. <ulink url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>.
  9. </para>
  10. <para>
  11. Для веб-приложений, написанных с использованием <acronym>PHP</acronym>,
  12. <emphasis>сессия</emphasis> (session) представляет собой
  13. логическую связь один-к-одному между постоянными данными на стороне
  14. сервера и определенным агентом пользователя (т.е. веб-броузером).
  15. <classname>Zend_Session</classname> помогает сохранять и управлять данными сессий,
  16. являющимися логическим дополнением к данным в куках (cookie), между запросами
  17. одного и того же клиента. В отличие от данных, сохраняемых в куках,
  18. данные сессий не хранятся на клиентской стороне, они становятся
  19. доступными клиенту только если код серверной стороны добровольно
  20. предоставляет эти данные в ответ на запрос клиента.
  21. В рамках данного компонента и документации, термин "данные сессии" ссылаются на данные
  22. серверной стороны, хранимые в <ulink
  23. url="http://www.php.net/manual/en/reserved.variables.php#reserved.variables.session">
  24. <varname>$_SESSION</varname></ulink>, ообслуживаемые <classname>Zend_Session</classname> и
  25. индивидуально изменяемые <classname>Zend_Session_Namespace</classname> объектами.
  26. <emphasis>Пространства имен сессий</emphasis> предоставляют
  27. доступ к данным сессий с использованиием классических
  28. <ulink url="http://en.wikipedia.org/wiki/Namespace_%28computer_science%29">пространств
  29. имен</ulink>,
  30. логически реализованным как именованные группы ассоциативных массивов, строками в качестве
  31. ключей(аналогично с обычными <acronym>PHP</acronym> массивами).
  32. </para>
  33. <para>
  34. <classname>Zend_Session_Namespace</classname> инстанциирует объекты-аксессоры для
  35. именованых частей <varname>$_SESSION</varname>. Компонент
  36. <classname>Zend_Session</classname> является "оберткой" к расширению
  37. <acronym>PHP</acronym> ext/session c интерфейсом для
  38. администрирования и управления, а также предоставляет <acronym>API</acronym> для
  39. <classname>Zend_Session_Namespace</classname> для хранения пространства имен сессий.
  40. <classname>Zend_Session_Namespace</classname> предоставляет стандартизированный,
  41. объектно-ориентированный интерфейс с пространствами имен, сохраняемыми в
  42. стандартном механизме <acronym>PHP</acronym>-сессий. Поддерживаются как
  43. анонимные, так и "авторизованные" пространства имен сессий.
  44. <classname>Zend_Auth</classname>, компонент аутентификации в Zend Framework, использует
  45. <classname>Zend_Session_Namespace</classname> для хранения информации, связанной с
  46. авторизованными пользователями. Так как внутри <classname>Zend_Session</classname>
  47. использует обычные <acronym>PHP</acronym>-функции из ext/session, применяются все знакомые
  48. параметры и настройки (смотри <ulink
  49. url="http://www.php.net/session">http://www.php.net/session</ulink>), в дополнение к
  50. этому - удобство объектно-ориентированного интерфейса и поведение по умолчанию,
  51. обеспечивающее лучшие практики использования и легкую интеграцию с Zend Framework. Таким
  52. образом стандартный идентификатор <acronym>PHP</acronym> сессии, передаваемый через куки
  53. или <acronym>URL</acronym>, поддерживает ассоциации между клиентом и сессионными данными.
  54. </para>
  55. <para>
  56. Используемый по умолчанию
  57. <ulink url="http://www.php.net/manual/en/function.session-set-save-handler.php">механизм
  58. хранения данных сессий</ulink> не решает проблему поддержки ассоциации, если клиент может
  59. соединяться с любым сервером в кластере серверов, поскольку постоянные данные сессии
  60. сохраняются только на локальном сервере. Список дополнительных
  61. подходящих механизмов хранения будет предоставлен позднее. Члены
  62. сообщества приветствуют внесение предложений по механизмам
  63. хранения в списке рассылки
  64. <ulink url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>.
  65. Совместимый с <classname>Zend_Db</classname> механизм хранения уже был предложен в этом
  66. списке рассылки.
  67. </para>
  68. </sect1>