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

    <para>
        <classname>Zend_Application_Resource_Session</classname>
        によって、任意にセッションSaveHandlerを初期化するだけでなく、
        <classname>Zend_Session</classname>を構成できます。
    </para>

    <para>
        セッション保存ハンドラを配置するためには、
        単にリソースの<property>saveHandler</property>オプション・キーを渡してください。
        （大文字と小文字の区別をしません）
        このオプションの値は、以下のうちの1つでしょう:
    </para>

    <itemizedlist>
        <listitem>
            <para>
                <type>String</type>:
                インスタンス化されるべき<classname>Zend_Session_SaveHandler_Interface</classname>を
                実装するクラスを示す文字列
            </para>
        </listitem>

        <listitem>
            <para>
                <type>Array</type>:
                インスタンス化されるべき<classname>Zend_Session_SaveHandler_Interface</classname>を実装しているクラスと
                そのコンストラクタに与えるオプションの配列を示す、
                "class" 及び、任意で "options"キーを持つ配列
            </para>
        </listitem>

        <listitem>
            <para>
                <classname>Zend_Session_SaveHandler_Interface</classname>:
                このインターフェースを実装するオブジェクト
            </para>
        </listitem>
    </itemizedlist>

    <para>
        渡されたオプション・キーはいずれも、
        <classname>Zend_Session</classname>を構成するために、<methodname>Zend_Session::setOptions()</methodname>に渡されます。
    </para>

    <example id="zend.application.available-resources.session.configExample">
        <title>セッション・リソース構成サンプル</title>

        <para>
            下記は、セッション・リソースを設定する方法を示す<acronym>INI</acronym>スニペット・サンプルです。
            <classname>Zend_Session_SaveHandler_DbTable</classname>インスタンスを構成するだけではなく、
            <classname>Zend_Session</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"
resources.session.saveHandler.options.primary[] = "save_path"
resources.session.saveHandler.options.primary[] = "name"
resources.session.saveHandler.options.primaryAssignment[] = "sessionId"
resources.session.saveHandler.options.primaryAssignment[] = "sessionSavePath"
resources.session.saveHandler.options.primaryAssignment[] = "sessionName"
resources.session.saveHandler.options.modifiedColumn = "modified"
resources.session.saveHandler.options.dataColumn = "session_data"
resources.session.saveHandler.options.lifetimeColumn = "lifetime"
]]></programlisting>
    </example>

    <note>
        <title>最初にデータベースを起動してください!</title>

        <para>
            もし<classname>Zend_Session_SaveHandler_DbTable</classname>セッション保存ハンドラを構成しているなら、
            それが機能するためのデータベース接続を最初に構成しなければなりません。
            いずれでも、<link
                linkend="zend.application.available-resources.db">Db</link>リソースを用いてこれを実行してください。
            "<property>resources.db</property>" キーが "<property>resources.session</property>" キーよりも優先されることを確認してください。
            あるいは、データベースを初期化するあなた自身のリソースを書くことによって。
            そして、特にデフォルト<classname>Zend_Db_Table</classname>アダプタを設定します。
        </para>
    </note>
</sect2>
