2014-09-23 24 views
1

我有這樣的application.iniZend框架1.2的用戶登錄後,選擇數據庫運行時

resources.db.params.host = localhost 
resources.db.params.username = root 
resources.db.params.password = password 
resources.db.params.dbname = zend_db 

但我希望用戶登錄後,選擇數據庫:例如

以管理員身份登錄---> mysql的選擇DB:adminYYY

登錄爲TEST --->選擇MySQL數據庫:的testXXX

登錄的貓--->選擇MySQL數據庫:catZZZ

回答

1

您可能必須實例多個連接到您的服務器,每個連接使用Zend_Application_Resource_Multidb爲不同的數據庫。事情是這樣的:

resources.multidb.dbadmin.params.host = localhost 
resources.multidb.dbadmin.params.username = root 
resources.multidb.dbadmin.params.password = password 
resources.multidb.dbadmin.params.dbname = 'admin' 

resources.multidb.dbtest.params.host = localhost 
resources.multidb.dbtest.params.username = root 
resources.multidb.dbtest.params.password = password 
resources.multidb.dbtest.params.dbname = 'test' 

resources.multidb.dbcat.params.host = localhost 
resources.multidb.dbcat.params.username = root 
resources.multidb.dbcat.params.password = password 
resources.multidb.dbcat.params.dbname = 'cat' 

所以,你可以寫,你會用它來檢索每個數據庫連接的自定義身份驗證類:

$resource = $bootstrap->getPluginResource('multidb'); 
$dbadmin = $resource->getDb('dbadmin'); 
$dbtest = $resource->getDb('dbtest'); 
$dbcat = $resource->getDb('dbcat'); 

或者在你的引導做這一招。

請參閱Zend_Application_Resource_Multidb