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

    <para>
        <classname>Zend_Application_Resource_Modules</classname>は、
        アプリケーションモジュールを初期化するために使われます。
        モジュールのルートに<filename>Bootstrap.php</filename>ファイルがあるなら、
        <classname>Module_Bootstrap</classname>という名前のクラスを含みます、
        （ "Module" のところがモジュール名です）
        そして、モジュールをブートするためにそのクラスを使用します。
    </para>

    <para>
        <classname>Zend_Application_Module_Autoloader</classname>のインスタンスは、
        それを初期化するためにモジュール名とディレクトリを使用して、
        モジュールのためにデフォルトで作成されます。
    </para>

    <para>
        Modules リソースはデフォルトでは何も引数を受け取らないので、
        設定で有効にするには空の配列として作成しなければなりません。
        <acronym>INI</acronym> 形式で設定する場合は次のようになります。
    </para>

    <programlisting language="ini"><![CDATA[
resources.modules[] =
]]></programlisting>

    <para>
        <acronym>XML</acronym> 形式で設定する場合は次のようになります。
    </para>

    <programlisting language="xml"><![CDATA[
<resources>
    <modules>
        <!-- Placeholder to ensure an array is created -->
        <placeholder />
    </modules>
</resources>
]]></programlisting>

    <para>
        標準の <acronym>PHP</acronym> 配列を使用する場合は、単純に空の配列を作成します。
    </para>

    <programlisting language="php"><![CDATA[
$options = array(
    'resources' => array(
        'modules' => array(),
    ),
);
]]></programlisting>

    <note>
        <title>フロントコントローラ・リソース依存</title>

        <para>
            モジュール・リソースは、<link
                linkend="zend.application.available-resources.frontcontroller">フロントコントローラ・リソース</link>
            に依存します。
            もちろん、あつらえのフロントコントローラ・リソースクラスまたはクラス・イニシャライザ・メソッドによって
            そのリソース自身の代用を提供できます。
            "Frontcontroller" で終るリソース・プラグイン・クラスや
            "_initFrontController" という名前のイニシャライザ・メソッドである限りは。
            （大文字と小文字の区別をしません）
        </para>
    </note>

    <example id="zend.application.available-resources.modules.configExample">
        <title>モジュールの設定</title>

        <para>
            構成ファイルのプレフィックスまたはサブセクションとして
            モジュール名を使用しているモジュール固有の構成を指定できます。
        </para>

        <para>
            たとえば、アプリケーションに "news" モジュールがあると仮定します。
            下記は、そのモジュールでリソースの構成を示す<acronym>INI</acronym>と<acronym>XML</acronym>の例です。
        </para>

        <programlisting language="ini"><![CDATA[
[production]
news.resources.db.adapter = "pdo_mysql"
news.resources.db.params.host = "localhost"
news.resources.db.params.username = "webuser"
news.resources.db.params.password = "XXXXXXX"
news.resources.db.params.dbname = "news"
]]></programlisting>

        <programlisting language="xml"><![CDATA[
<?xml version="1.0"?>
<config>
    <production>
        <news>
            <resources>
                <db>
                    <adapter>pdo_mysql</adapter>
                    <params>
                        <host>localhost</host>
                        <username>webuser</username>
                        <password>XXXXXXX</password>
                        <dbname>news</dbname>
                    </params>
                    <isDefaultAdapter>true</isDefaultAdapter>
                </db>
            </resources>
        </news>
    </production>
</config>
]]></programlisting>
    </example>

    <example id="zend.application.available-resources.modules.retrieveBootstrapExample">
        <title>特定のモジュール・ブートストラップを取得する</title>

        <para>
            時には、特定のモジュールのためにブートストラップ・オブジェクトを取得する必要があるかもしれません
            おそらくは別々のブートストラップ・メソッドを実行するためや、
            それを構成するためのオートローダを引き出すために。
            これは、モジュール・リソースの<methodname>getExecutedBootstraps()</methodname>メソッドを使用して行なえます。
        </para>

        <programlisting language="php"><![CDATA[
$resource = $bootstrap->getPluginResource('modules');
$moduleBootstraps = $resource->getExecutedBootstraps();
$newsBootstrap = $moduleBootstraps['news'];
]]></programlisting>
    </example>
</sect2>
