|
|
@@ -0,0 +1,87 @@
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
+<!-- EN-Revision: 20017 -->
|
|
|
+<!-- Reviewed: no -->
|
|
|
+<sect2 id="zend.application.available-resources.multidb">
|
|
|
+ <title>Zend_Application_Resource_Multidb</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ <classname>Zend_Application_Resource_Multidb</classname> puede ser utulizado para
|
|
|
+ instanciar múltiples conexiones a distintas bases de datos. Se pueden usar las mismas
|
|
|
+ opciones que con el
|
|
|
+ <link linkend="zend.application.available-resources.db">recurso complemento Db</link>.
|
|
|
+ Sin embargo, para especificar una conexión por defecto, se puede usar la directiva
|
|
|
+ 'default'.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <example id="zend.application.available-resources.multidb.configexample">
|
|
|
+ <title>Configurando múltiples conexiones</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Abajo se muestra un extracto de archivo <acronym>INI</acronym> de ejemplo donde se
|
|
|
+ muestra como configurar dos conexiones.
|
|
|
+ </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 = "miClaveDificil"
|
|
|
+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 = "otraClaveDificil"
|
|
|
+resources.multidb.db2.dbname = "db2"
|
|
|
+resources.multidb.db2.default = true
|
|
|
+]]></programlisting>
|
|
|
+ </example>
|
|
|
+
|
|
|
+ <example id="zend.application.available-resources.multidb.retrieveSpecificDb">
|
|
|
+ <title>Obteniendo un adaptador de base de datos en particular</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Al usar este recurso complemento, por lo general se desea obtener el adaptador
|
|
|
+ de una base de datos en particular. Esto puede ser realizado usando el método
|
|
|
+ <methodname>getDb()</methodname> provisto por el recurso. El método
|
|
|
+ <methodname>getDb()</methodname> devuelve una instancia de una clase que extiende
|
|
|
+ <classname>Zend_Db_Adapter_Abstract</classname>. Si no ha especificado una base
|
|
|
+ de datos por defecto, saltará una excepción si este método es llamado sin pasarle
|
|
|
+ un parámetro
|
|
|
+ </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>Obteniendo el adaptador de base de datos por defecto</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Adicionalmente, se puede obtener el adaptador por defecto usando el método
|
|
|
+ <methodname>getDefaultDb()</methodname>. Si no ha especificado un adaptador por
|
|
|
+ defecto, el primer adaptador configurado será devuelto. A menos que especifique
|
|
|
+ <constant>FALSE</constant> como primer parámetro, <constant>NULL</constant> será
|
|
|
+ devuelto cuando no se haya configurado ningún adaptador por defecto.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Abajo se muestra un ejemplo que asume que el recurso complemento MultiDb se ha
|
|
|
+ configurado con el ejemplo <acronym>INI</acronym> mostrado anteriormente.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
+$resource = $bootstrap->getPluginResource('multidb');
|
|
|
+$db2 = $resource->getDefaultDb();
|
|
|
+
|
|
|
+// Misma configuración, pero ahora con la db por defecto:
|
|
|
+$db1 = $resource->getDefaultDb();
|
|
|
+$null = $resource->getDefaultDb(false); // null
|
|
|
+]]></programlisting>
|
|
|
+ </example>
|
|
|
+</sect2>
|