<?xml version="1.0" encoding="UTF-8"?>
    <!-- EN-Revision: 20763 -->
    <!-- Reviewed: no -->
<sect2 id="zend.application.available-resources.session">
    <title>Zend_Application_Resource_Session</title>

    <para>
        <classname>Zend_Application_Resource_Session</classname>
        le permite
        configurar
        <classname>Zend_Session</classname>
        y opcionalmente
        inicializar una sesión SaveHandler.
    </para>

    <para>
        Para establecer un manejador de sesiones, simplemente pasar al recurso
        la clave opcional
        <property>saveHandler</property>
        (case insensible). El valor
        de esta opción puede ser uno de los siguientes:
    </para>

    <itemizedlist>
        <listitem>
            <para>
                <type>String</type>
                : un string indicando una clase implementando
                <classname>Zend_Session_SaveHandler_Interface</classname>
                que
                debería ser instanciada.
            </para>
        </listitem>

        <listitem>
            <para>
                <type>Array</type>
                : un array con las claves "class" y,
                opcionalmente, "options", indicando la clase que implementa
                <classname>Zend_Session_SaveHandler_Interface</classname>
                que
                debería ser instanciada y una variedad de opciones para proporcionar
                a su constructor.
            </para>
        </listitem>

        <listitem>
            <para>
                <classname>Zend_Session_SaveHandler_Interface</classname>
                : un objeto
                implementando esta interfaz.
            </para>
        </listitem>
    </itemizedlist>

    <para>
        Pasando cualquier otra opción de claves será pasado a
        <methodname>Zend_Session::setOptions()</methodname>
        para configurar
        <classname>Zend_Session</classname>
        .
    </para>

    <example id="zend.application.available-resources.session.configExample">
        <title>Configuración de recursos de la Sesión Ejemplo</title>

        <para>
            A continuación el snippet
            <acronym>INI</acronym>
            nos muestra cómo configurar el recurso
            para sesiones. Se establecen varias opciones
            <classname>Zend_Session</classname>
            , como también configura una
            instancia
            <classname>Zend_Session_SaveHandler_DbTable</classname>
            .
        </para>

        <programlisting language="ini"><![CDATA[
resources.session.save_path = APPLICATION_PATH "/../data/session"
resources.session.use_only_cookies = true
resources.session.remember_me_seconds = 864000
resources.session.saveHandler.class = "Zend_Session_SaveHandler_DbTable"
resources.session.saveHandler.options.name = "session"
resources.session.saveHandler.options.primary.session_id = "session_id"
resources.session.saveHandler.options.primary.save_path = "save_path"
resources.session.saveHandler.options.primary.name = "name"
resources.session.saveHandler.options.primaryAssignment.sessionId = "sessionId"
resources.session.saveHandler.options.primaryAssignment.sessionSavePath = "sessionSavePath"
resources.session.saveHandler.options.primaryAssignment.sessionName = "sessionName"
resources.session.saveHandler.options.modifiedColumn = "modified"
resources.session.saveHandler.options.dataColumn = "session_data"
resources.session.saveHandler.options.lifetimeColumn = "lifetime"
]]></programlisting>
    </example>

    <note>
        <title>Configurando tu primera base de datos!</title>

        <para>
            Si vas a configurar el manejador
            <classname>Zend_Session_SaveHandler_DbTable</classname>
            para guardar sesiones
            , primero deberas configurar tu conexión a la base de datos.
            Lo
            puedes hacer mediante
            <link linkend="zend.application.available-resources.db">Db</link>
            -- y asegurate de que la llave "
            <property>resources.db</property>
            " esta antes que el
            "
            <property>resources.session</property>
            " -- o escribiedo tu propia clase para inicializar la base
            de datos y establecer los
            valores predeterminados para el adaptador
            <classname>Zend_Db_Table</classname>
            .
        </para>
    </note>

</sect2>
