# Zend_Application_Resource_Multidb

`Zend_Application_Resource_Multidb` puede ser utulizado para instanciar múltiples conexiones a distintas bases de datos. Se pueden usar las mismas opciones que con el recurso complemento Db. Sin embargo, para especificar una conexión por defecto, se puede usar la directiva 'default'.

## Configurando múltiples conexiones

Abajo se muestra un extracto de archivo INI de ejemplo donde se muestra como configurar dos conexiones.

    [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

## Obteniendo un adaptador de base de datos en particular

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 `getDb()` provisto por el recurso. El método `getDb()` devuelve una instancia de una clase que extiende `Zend_Db_Adapter_Abstract`. 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

    $resource = $bootstrap->getPluginResource('multidb');
    $db1 = $resource->getDb('db1');
    $db2 = $resource->getDb('db2');
    $defaultDb = $resource->getDb();

## Obteniendo el adaptador de base de datos por defecto

Adicionalmente, se puede obtener el adaptador por defecto usando el método `getDefaultDb()`. Si no ha especificado un adaptador por defecto, el primer adaptador configurado será devuelto. A menos que especifique `FALSE` como primer parámetro, `NULL` será devuelto cuando no se haya configurado ningún adaptador por defecto.

Abajo se muestra un ejemplo que asume que el recurso complemento MultiDb se ha configurado con el ejemplo INI mostrado anteriormente.

    $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