| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Reviewed: no -->
- <sect2 id="zend.application.available-resources.multidb">
- <title>Zend_Application_Resource_Multidb</title>
- <para>
- <classname>Zend_Application_Resource_Multidb</classname> is used to initialize
- multiple Database connections. You can use the same options as you can with
- the <link linkend="zend.application.available-resources.db">Db Resource Plugin</link>.
- However, for specifying a default connection, you can also use the 'default' directive.
- </para>
- <example id="zend.application.available-resources.multidb.configexample">
- <title>Setting up multiple Db Connections</title>
- <para>
- Below is an example <acronym>INI</acronym> configuration that can be used to initialize
- two Db Connections.
- </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 = "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
- ]]></programlisting>
- </example>
- <example id="zend.application.available-resources.multidb.retrieveSpecificDb">
- <title>Retrieving a specific database adapter</title>
- <para>
- When using this resource plugin you usually will want to retrieve
- a specific database. This can be done by using the resource's
- <methodname>getDb()</methodname>. The method
- <methodname>getDb()</methodname> returns an instance of a class that
- extends <classname>Zend_Db_Adapter_Abstract</classname>. If you have not
- set a default database, an exception will be thrown when this method
- is called without specifying a parameter.
- </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>Retrieving the default database adapter</title>
- <para>
- Additionally, you can retrieve the default database adapter
- by using the method <methodname>getDefaultDb()</methodname>.
- If you have not set a default adapter, the first configured db
- adapter will be returned. Unless you specify <constant>FALSE</constant>
- as first parameter, then <constant>NULL</constant>
- will be returned when no default database adapter was set.
- </para>
- <para>
- Below is an example that assumes the Multidb resource plugin has been configured
- with the <acronym>INI</acronym> sample above:
- </para>
- <programlisting language="php"><![CDATA[
- $resource = $bootstrap->getPluginResource('multidb');
- $db2 = $resource->getDefaultDb();
- // Same config, but now without a default db:
- $db1 = $resource->getDefaultDb();
- $null = $resource->getDefaultDb(false); // null
- ]]></programlisting>
- </example>
- </sect2>
|