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

    <para>
        <classname>Zend_Application_Resource_Db</classname> initialisera un adaptateur
        <classname>Zend_Db</classname> basé sur les options qui lui seront fournis. Par
        défaut, il spécifiera aussi cet adaptateur comme adaptateur par défaut à utiliser
        avec <classname>Zend_Db_Table</classname>. Si vous souhaitez utiliser simultanément
        de multiples bases de données, vous pouvez utiliser la <link
        linkend="zend.application.available-resources.multidb">plugin de ressource Multidb</link>.
    </para>

    <para>
        Les clés de configuration suivantes sont reconnues&#160;:
    </para>

    <itemizedlist>
        <listitem>
            <para>
                <emphasis><property>adapter</property></emphasis>&#160;: le type de l'adaptateur
                <classname>Zend_Db</classname>.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis><property>params</property></emphasis>&#160;: un tableau associatif des
                paramètres de configuration à utiliser pour la récupération de l'instance de
                l'adaptateur.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis><property>isDefaultTableAdapter</property></emphasis>&#160;: spécifie
                si l'adaptateur est celui par défaut des tables.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis><property>defaultMetadataCache</property></emphasis>&#160;: spécifie
                le nom du modèle de cache ou une instance de <classname>Zend_Cache_Core</classname>
                à utiliser en tant que cache de métadonnées pour
                <classname>Zend_Db_Table</classname>.
            </para>
        </listitem>
    </itemizedlist>

    <example id="zend.application.available-resources.db.configExample">
        <title>Exemple de configuration d'une ressource d'adaptateur de base données</title>

        <para>
            Voici un exemple de configuration <acronym>INI</acronym> qui peut-être utilisé pour
            initialiser une ressource de base de données.
        </para>

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

; Optionnellement, on peut utiliser un modèle du gestionnaire de cache :
resources.db.defaultMetadataCache = "database"
]]></programlisting>
    </example>

    <note>
        <title>Récupération de l'instance de l'adaptateur</title>

        <para>
            Si vous choisissez de ne pas utiliser l'adaptateur instancié avec cette ressource
            comme adaptateur par défaut pour les tables, comment pourrez-vous récupérer
            l'instance&#160;?
        </para>

        <para>
            Comme tout plugin de ressource, vous pouvez extraire votre plugin de ressource de votre
            fichier d'initialisation&#160;:
        </para>

        <programlisting language="php"><![CDATA[
$resource = $bootstrap->getPluginResource('db');
]]></programlisting>

        <para>
            Une fois que vous avez l'objet ressource, vous pouvez récupérer l'adaptateur de base de
            données en utilisant la méthode <methodname>getDbAdapter()</methodname>&#160;:
        </para>

        <programlisting language="php"><![CDATA[
$db = $resource->getDbAdapter();
]]></programlisting>
    </note>
</sect2>
