| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Reviewed: no -->
- <sect1 id="zend.session.introduction">
- <title>Introduction</title>
- <para>
- The Zend Framework Auth team greatly appreciates your feedback and contributions on our
- email list: <ulink url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink>
- </para>
- <para>
- With web applications written using <acronym>PHP</acronym>, a <emphasis>session</emphasis>
- represents a logical, one-to-one connection between server-side, persistent state data and a
- particular user agent client (e.g., web browser). <classname>Zend_Session</classname> helps
- manage and preserve session data, a logical complement of cookie data, across multiple page
- requests by the same client. Unlike cookie data, session data are not stored on the client
- side and are only shared with the client when server-side source code voluntarily makes the
- data available in response to a client request. For the purposes of this component and
- documentation, the term "session data" refers to the server-side data stored in <ulink
- url="http://www.php.net/manual/en/reserved.variables.php#reserved.variables.session"><varname>$_SESSION</varname></ulink>,
- managed by <classname>Zend_Session</classname>, and individually manipulated by
- <classname>Zend_Session_Namespace</classname> accessor objects.
- <emphasis>Session namespaces</emphasis> provide access to session data using classic <ulink
- url="http://en.wikipedia.org/wiki/Namespace_%28computer_science%29">namespaces</ulink>
- implemented logically as named groups of associative arrays, keyed by strings (similar to
- normal <acronym>PHP</acronym> arrays).
- </para>
- <para>
- <classname>Zend_Session_Namespace</classname> instances are accessor objects for namespaced
- slices of <varname>$_SESSION</varname>. The <classname>Zend_Session</classname> component
- wraps the existing <acronym>PHP</acronym> ext/session with an administration and management
- interface, as well as providing an <acronym>API</acronym> for
- <classname>Zend_Session_Namespace</classname> to persist session namespaces.
- <classname>Zend_Session_Namespace</classname> provides a standardized, object-oriented
- interface for working with namespaces persisted inside <acronym>PHP</acronym>'s standard
- session mechanism. Support exists for both anonymous and authenticated (e.g., "login")
- session namespaces. <classname>Zend_Auth</classname>, the authentication component of Zend
- Framework, uses <classname>Zend_Session_Namespace</classname> to store some information
- associated with authenticated users. Since <classname>Zend_Session</classname> uses the
- normal <acronym>PHP</acronym> ext/session functions internally, all the familiar
- configuration options and settings apply (see <ulink
- url="http://www.php.net/session">http://www.php.net/session</ulink>), with such bonuses
- as the convenience of an object-oriented interface and default behavior that provides both
- best practices and smooth integration with Zend Framework. Thus, a standard
- <acronym>PHP</acronym> session identifier, whether conveyed by cookie or within
- <acronym>URL</acronym>s, maintains the association between a client and session state data.
- </para>
- <para>
- The default
- <ulink url="http://www.php.net/manual/en/function.session-set-save-handler.php">ext/session
- save handler</ulink> does not maintain this association for server clusters under certain
- conditions because session data are stored to the filesystem of the server that responded to
- the request. If a request may be processed by a different server than the one where the
- session data are located, then the responding server has no access to the session data (if
- they are not available from a networked filesystem). A list of additional, appropriate save
- handlers will be provided, when available. Community members are encouraged to suggest and
- submit save handlers to the <ulink
- url="mailto:fw-auth@lists.zend.com">fw-auth@lists.zend.com</ulink> list. A
- <classname>Zend_Db</classname> compatible save handler has been posted to the list.
- </para>
- </sect1>
|