Zend_Session-Introduction.xml 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <sect1 id="zend.session.introduction">
  2. <title>Введение</title>
  3. <para>
  4. См.
  5. <ulink url="http://framework.zend.com/wiki/x/iVc">
  6. самую последнюю опубликованную версию этого документа</ulink>.
  7. Приветствуются отзывы и предложения в списке рассылки <ulink url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>.
  8. <!--
  9. See
  10. <ulink url="http://framework.zend.com/wiki/x/iVc">the most recently published version of this document</ulink>.
  11. Also, the Zend Framework Auth team greatly appreciates your feedback and contributions on our email list:
  12. <ulink url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>
  13. -->
  14. </para>
  15. <para>
  16. Для веб-приложений, написанных с использованием PHP,
  17. <emphasis>сессия</emphasis> (session) представляет собой
  18. логическую связь один-к-одному между постоянными данными на стороне
  19. сервера и определенным агентом пользователя (т.е. веб-броузером).
  20. Zend_Session помогает сохранять и управлять данными сессий, являющимися
  21. логическоим дополнением к данным в куках (cookie), между запросами
  22. одного и того же клиента. В отличие от данных, сохраняемых в куках,
  23. данные сессий не хранятся на клиентской стороне, они становятся
  24. доступными клиенту только если код серверной стороны добровольно
  25. предоставляет эти данные в ответ на запрос клиента.
  26. <emphasis>Пространства имен сессий</emphasis> предоставляют
  27. доступ к данным сессий с использованиием классических
  28. <ulink url="http://en.wikipedia.org/wiki/Namespace_%28computer_science%29">пространств имен</ulink>,
  29. логически реализованным как именованные группы ассоциативных массивов.
  30. <!--
  31. With web applications written using PHP, a <emphasis>session</emphasis> represents a logical,
  32. one-to-one connection between server-side, persistent state data and a particular user agent client (e.g. web
  33. browser). Zend_Session helps manage and preserve session data, a logical complement of cookie data, across
  34. multiple page requests by the same client. Unlike cookie data, session data is not stored on the client side,
  35. and it is only shared with the client when server-side source code voluntarily makes the data available via a
  36. response to a request from the client. For the purposes of this component and documentation, session data refers
  37. to the server-side data managed by Zend_Session. <emphasis>Session namespaces</emphasis> provide
  38. access to session data using classic
  39. <ulink url="http://en.wikipedia.org/wiki/Namespace_%28computer_science%29">namespaces</ulink>
  40. implemented logically as named groups of associative arrays, keyed by strings (similar to normal PHP arrays).
  41. -->
  42. </para>
  43. <para>
  44. Компонента <code>Zend_Session</code> является "оберткой" к
  45. расширению ext/session c интерфейсом для администрирования и управления,
  46. а также предоставляет API для <code>Zend_Session_Namespace</code>.
  47. <code>Zend_Session_Namespace</code> предоставляет стандартизированный,
  48. объектно-ориентированный интерфейс для работы с пространствами имен,
  49. сохраняемыми через стандартный механизм сессий PHP. Поддерживаются как
  50. анонимные, так и "авторизованные" пространства имен сессий.
  51. <code>Zend_Auth</code>, компонента ZF для аутентификации, использует
  52. <code>Zend_Session_Namespace</code> для хранения информации, связанной с
  53. аутентифицироанными пользователями, в пространстве имен "Zend_Auth".
  54. Поскольку внутри себя <code>Zend_Session</code> использует обычные
  55. PHP-функции, предназначенные для работы со сессиями, то используются
  56. соответствующие опции конфигурации PHP (см.
  57. <ulink url="http://www.php.net/session">http://www.php.net/session</ulink>).
  58. Стандартный идентификатор сессии, сохраненный в куках или встроенный
  59. в URL, поддерживает ассоциацию между клиентом и постоянными данными
  60. сессии.
  61. <!--
  62. The <code>Zend_Session</code> component wraps the existing PHP ext/session with an administration and management
  63. interface, as well as providing an API for <code>Zend_Session_Namespace</code> to persist session namespaces.
  64. <code>Zend_Session_Namespace</code> provides a standardized, object-oriented interface for working with
  65. namespaces persisted inside PHP's standard session mechanism. Support exists for both anonymous and "login"
  66. session namespaces. <code>Zend_Auth</code>, the authentication component of the ZF uses
  67. <code>Zend_Session_Namespace</code> to store some information associated with authenticated users in the
  68. "Zend_Auth" namespace. Since <code>Zend_Session</code> uses the normal PHP ext/session functions internally, and
  69. all the familiar configuration options and settings apply (see
  70. <ulink
  71. url="http://www.php.net/session">http://www.php.net/session</ulink>
  72. ), with the bonus of convenience through an object-oriented interface and defaults providing both best practices
  73. and smooth integration with Zend Framework. Thus, a standard PHP session id, stored either in a client's
  74. cookie or embedded in URLs, maintains the association between a client and session state data.
  75. -->
  76. </para>
  77. <para>
  78. Используемый по умолчанию
  79. <ulink url="http://www.php.net/manual/en/function.session-set-save-handler.php">механизм хранения данных сессий</ulink>
  80. не решает проблему поддержки ассоциации, если клиент может соединяться с
  81. любым сервером в кластере серверов, поскольку постоянные данные сессии
  82. сохраняются только на локальном сервере. Список дополнительных
  83. подходящих механизмов хранения будет предоставлен позднее. Члены
  84. сообщества приветствуют внесение предложений по механизмам
  85. хранения в списке рассылки
  86. <ulink url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>.
  87. Совместимый с Zend_Db механизм хранения уже был предложен в этом списке
  88. рассылки.
  89. <!--
  90. The default
  91. <ulink
  92. url="http://www.php.net/manual/en/function.session-set-save-handler.php">ext/session
  93. save handler</ulink>
  94. does not solve the problem of maintaining this association, when a client may connect to any sever in a cluster
  95. of servers, since session state data is saved to the local server only. A list of additional, appropriate save
  96. handlers will be provided, when available. Community members are encouraged to suggest and submit save handlers
  97. to the
  98. <ulink url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>
  99. list. A Zend_Db compatible save handler has been posted to the list.
  100. -->
  101. </para>
  102. </sect1>