[ZF-10089] Zend_Log
[zend.git] / documentation / manual / fr / module_specs / Zend_Application-AvailableResources-Multidb.xml
blobfded4f1bbc50d50d237f6d1e86850369b00dbca9
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- EN-Revision: 20176 -->
3 <!-- Reviewed: no -->
4 <sect2 id="zend.application.available-resources.multidb">
5     <title>Zend_Application_Resource_Multidb</title>
7     <para>
8         <classname>Zend_Application_Resource_Multidb</classname> est utilisé pour initialiser de
9         multiples connexions vers des bases de données. Vous pouvez utiliser les mêmes options
10         qu'avec le <link
11             linkend="zend.application.available-resources.db">plugin de ressource Db</link>.
12         Cependant, pour spécifier une connexion par défaut, vous pouvez aussi utiliser la directive
13         'default'.
14     </para>
16     <example id="zend.application.available-resources.multidb.configexample">
17         <title>Paramétrer de multiples connexions vers des bases de données</title>
19         <para>
20             Ci-dessous vous avez un exemple de configuration <acronym>INI</acronym> montrant
21             l'initialisation de deux connexions.
22         </para>
24         <programlisting language="ini"><![CDATA[
25 [production]
26 resources.multidb.db1.adapter = "pdo_mysql"
27 resources.multidb.db1.host = "localhost"
28 resources.multidb.db1.username = "webuser"
29 resources.multidb.db1.password = "XXXX"
30 resources.multidb.db1.dbname = "db1"
32 resources.multidb.db2.adapter = "pdo_pgsql"
33 resources.multidb.db2.host = "example.com"
34 resources.multidb.db2.username = "dba"
35 resources.multidb.db2.password = "notthatpublic"
36 resources.multidb.db2.dbname = "db2"
37 resources.multidb.db2.default = true
38 ]]></programlisting>
39     </example>
41     <example id="zend.application.available-resources.multidb.retrieveSpecificDb">
42         <title>Récupérer un adaptateur de bases de données spécifique</title>
44         <para>
45             Lorsque vous utilisez ce plugin de ressource, vous aurez sans doute besoin de
46             récupérer un adaptateur spécifique. Ceci peut être réalisé en utilisant la
47             méthode <methodname>getDb()</methodname>. La méthode
48             <methodname>getDb()</methodname> retourne l'instance d'une classe qui étend
49             <classname>Zend_Db_Adapter_Abstract</classname>. Si vous n'avez pas activé
50             un adaptateur par défaut, une exception sera levée lorsque vous appelerez
51             cette méthode sans lui fournir de paramètre.
52          </para>
54         <programlisting language="php"><![CDATA[
55 $resource = $bootstrap->getPluginResource('multidb');
56 $db1 = $resource->getDb('db1');
57 $db2 = $resource->getDb('db2');
58 $defaultDb = $resource->getDb();
59 ]]></programlisting>
60     </example>
62     <example id="zend.application.available-resources.multidb.retrieveDefaultDb">
63         <title>Récupérer l'adaptateur de base de données par défaut</title>
65         <para>
66             De plus, vous pouvez récupérer l'adaptateur par défaut en utilisant la méthode
67             <methodname>getDefaultDb()</methodname>. Si vous n'avez pas activé d'adaptateur
68             par défaut, le premier configuré sera retourné. Si vous spécifiez
69             <constant>FALSE</constant> en tant que premier paramètre, alors vous récupérez
70             <constant>NULL</constant> si adaptateur par défaut n'est configuré.
71          </para>
73         <para>
74             Ci-dessous vous avez un exemple qui suppose que le plugin de ressource Multidb
75             a été configuré avec l'exemple <acronym>INI</acronym> ci-dessus&#160;:
76         </para>
78         <programlisting language="php"><![CDATA[
79 $resource = $bootstrap->getPluginResource('multidb');
80 $db2 = $resource->getDefaultDb();
82 // Même config, mais maintenant sans adaptateur par défaut :
83 $db1 = $resource->getDefaultDb();
84 $null = $resource->getDefaultDb(false); // null
85 ]]></programlisting>
86     </example>
87 </sect2>