# Zend_Application_Resource_Multidb

`Zend_Application_Resource_Multidb` est utilisé pour initialiser de multiples connexions vers des bases de données. Vous pouvez utiliser les mêmes options qu'avec le plugin de ressource Db. Cependant, pour spécifier une connexion par défaut, vous pouvez aussi utiliser la directive 'default'.

## Paramétrer de multiples connexions vers des bases de données

Ci-dessous vous avez un exemple de configuration INI montrant l'initialisation de deux connexions.

    [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

## Récupérer un adaptateur de bases de données spécifique

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 `getDb()`. La méthode `getDb()` retourne l'instance d'une classe qui étend `Zend_Db_Adapter_Abstract`. 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.

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

## Récupérer l'adaptateur de base de données par défaut

De plus, vous pouvez récupérer l'adaptateur par défaut en utilisant la méthode `getDefaultDb()`. Si vous n'avez pas activé d'adaptateur par défaut, le premier configuré sera retourné. Si vous spécifiez `FALSE` en tant que premier paramètre, alors vous récupérez `NULL` si adaptateur par défaut n'est configuré.

Ci-dessous vous avez un exemple qui suppose que le plugin de ressource Multidb a été configuré avec l'exemple INI ci-dessus :

    $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