<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="sessionhandler.read" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
 <refnamediv>
  <refname>SessionHandler::read</refname>
  <refpurpose>Read session data</refpurpose>
 </refnamediv>

 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis role="SessionHandler">
   <modifier>public</modifier> <type class="union"><type>string</type><type>false</type></type><methodname>SessionHandler::read</methodname>
   <methodparam><type>string</type><parameter>id</parameter></methodparam>
  </methodsynopsis>
  <para>
   Reads the session data from the session storage, and returns the result back to PHP for internal processing.
   This method is called automatically by PHP when a session is started (either automatically or explicitly
   with <function>session_start</function> and is preceded by an internal call to the
   <function>SessionHandler::open</function>.
  </para>
  <para>
   This method wraps the internal PHP save handler defined in the
   <link linkend="ini.session.save-handler">session.save_handler</link> ini setting that was set
   before this handler was set by <function>session_set_save_handler</function>.
  </para>
  <para>
   If this class is extended by inheritance, calling the parent <parameter>read</parameter> method will invoke the
   wrapper for this method and therefore invoke the associated internal callback.  This allows the method to be
   overridden and or intercepted and filtered (for example, decrypting the <parameter>$data</parameter> value
   returned by the parent <parameter>read</parameter> method).
  </para>
  <para>
   For more information on what this method is expected to do, please refer to the documentation at
   <function>SessionHandlerInterface::read</function>.
  </para>
 </refsect1>

 <refsect1 role="parameters">
  &reftitle.parameters;
  <variablelist>
   <varlistentry>
    <term><parameter>id</parameter></term>
    <listitem>
     <para>
      The session id to read data for.
     </para>
    </listitem>
   </varlistentry>
  </variablelist>
 </refsect1>

 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   Returns an encoded string of the read data. If nothing was read, it must return &false;. Note this value is returned internally to PHP for processing.
  </para>
 </refsect1>

 <refsect1 role="seealso">
  &reftitle.seealso;
  <para>
   <simplelist>
    <member>
     The <link linkend="ini.session.serialize-handler">session.serialize_handler</link>
     configuration directive.
    </member>
   </simplelist>
  </para>
 </refsect1>


</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
