Zend_Application_Resource_MultidbZend_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.
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
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.
getPluginResource('multidb');
$db2 = $resource->getDefaultDb();
// Misma configuración, pero ahora con la db por defecto:
$db1 = $resource->getDefaultDb();
$null = $resource->getDefaultDb(false); // null
]]>