| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect2 id="zend.application.available-resources.multidb">
- <title>Zend_Application_Resource_Multidb</title>
- <para>
- <classname>Zend_Application_Resource_Multidb</classname> est utilisé pour initialiser de
- multiples connexions vers des bases de données. Vous pouvez utiliser les mêmes options
- qu'avec le <link
- linkend="zend.application.available-resources.db">plugin de ressource Db</link>.
- Cependant, pour spécifier une connexion par défaut, vous pouvez aussi utiliser la directive
- 'default'.
- </para>
- <example id="zend.application.available-resources.multidb.configexample">
- <title>Paramétrer de multiples connexions vers des bases de données</title>
- <para>
- Ci-dessous vous avez un exemple de configuration <acronym>INI</acronym> montrant
- l'initialisation de deux connexions.
- </para>
- <programlisting language="ini"><![CDATA[
- [production]
- resources.multidb.db1.adapter = "pdo_mysql"
- resources.multidb.db1.host = "localhost"
- resources.multidb.db1.username = "webuser"
- resources.multidb.db1.password = "XXXX"
- resources.multidb.db1.dbname = "db1"
- resources.multidb.db2.adapter = "pdo_pgsql"
- resources.multidb.db2.host = "example.com"
- resources.multidb.db2.username = "dba"
- resources.multidb.db2.password = "notthatpublic"
- resources.multidb.db2.dbname = "db2"
- resources.multidb.db2.default = true
- ]]></programlisting>
- </example>
- <example id="zend.application.available-resources.multidb.retrieveSpecificDb">
- <title>Récupérer un adaptateur de bases de données spécifique</title>
- <para>
- Lorsque vous utilisez ce plugin de ressource, vous aurez sans doute besoin de
- récupérer un adaptateur spécifique. Ceci peut être réalisé en utilisant la
- méthode <methodname>getDb()</methodname>. La méthode
- <methodname>getDb()</methodname> retourne l'instance d'une classe qui étend
- <classname>Zend_Db_Adapter_Abstract</classname>. Si vous n'avez pas activé
- un adaptateur par défaut, une exception sera levée lorsque vous appellerez
- cette méthode sans lui fournir de paramètre.
- </para>
- <programlisting language="php"><![CDATA[
- $resource = $bootstrap->getPluginResource('multidb');
- $db1 = $resource->getDb('db1');
- $db2 = $resource->getDb('db2');
- $defaultDb = $resource->getDb();
- ]]></programlisting>
- </example>
- <example id="zend.application.available-resources.multidb.retrieveDefaultDb">
- <title>Récupérer l'adaptateur de base de données par défaut</title>
- <para>
- De plus, vous pouvez récupérer l'adaptateur par défaut en utilisant la méthode
- <methodname>getDefaultDb()</methodname>. Si vous n'avez pas activé d'adaptateur
- par défaut, le premier configuré sera retourné. Si vous spécifiez
- <constant>FALSE</constant> en tant que premier paramètre, alors vous récupérez
- <constant>NULL</constant> si adaptateur par défaut n'est configuré.
- </para>
- <para>
- Ci-dessous vous avez un exemple qui suppose que le plugin de ressource Multidb
- a été configuré avec l'exemple <acronym>INI</acronym> ci-dessus :
- </para>
- <programlisting language="php"><![CDATA[
- $resource = $bootstrap->getPluginResource('multidb');
- $db2 = $resource->getDefaultDb();
- // Même config, mais maintenant sans adaptateur par défaut :
- $db1 = $resource->getDefaultDb();
- $null = $resource->getDefaultDb(false); // null
- ]]></programlisting>
- </example>
- </sect2>
|