ZF連接多個資料庫

以Zend Application管理ZF專案,只需要一些設定檔就可以管理資料庫的連接資訊,連結不同種類的資料庫,如果要連接多個資料庫,設定的參數名稱就不一樣,但還是相當方便,更改設定後,就可以連接二個以上的資料庫,而不需多費太多時間撰寫多餘的程式碼,可以快速開發專案。

 

連接多個資料庫的步驟

 

1.更改application.ini設定檔

resources.multidb.db1.adapter = "Pdo_Mysql"
resources.multidb.db1.host = "localhost"
resources.multidb.db1.username = "root"
resources.multidb.db1.password = ""
resources.multidb.db1.dbname = "db1"
resources.multidb.db1.charset="utf8"
resources.multidb.db1.isDefaultTableAdapter = true

resources.multidb.db2.adapter = "Pdo_Mysql"
resources.multidb.db2.host = "localhost"
resources.multidb.db2.username = "root"
resources.multidb.db2.password = ""
resources.multidb.db2.dbname = "db2"
resources.multidb.db2.charset="utf8"

 

 

2.bootstrap程式檔加入啟動方法

__initRegistryDb(){
$this->bootstrap('multidb');
 $multidb=$this->getPluginResource('multidb');
 Zend_Registry::set('db1',$multidb->getDb('db1'));
 Zend_Registry::set('db1',$multidb->getDb('db2'));
}

 

 

3.Zend Db類別加入_schema參數

$_schema='db1';

 

參考資料

http://framework.zend.com/manual/1.12/en/zend.application.available-resources.html#zend.application.available-resources.multidb

http://www.amazium.com/blog/using-different-databases-with-zend-framework

分類:Zend Framework