我有这个应用程序.ini
resources.db.params.host = localhost
resources.db.params.username = root
resources.db.params.password = password
resources.db.params.dbname = zend_db
但我想在用户登录后选择数据库:例如
以ADMIN身份登录--->选择mysql-db:adminYYY
以TEST身份登录--->选择mysql-db:TestXXX
以cat身份登录--->选择mysql-db:catZZZ
您可能需要实例化到服务器的多个连接,每个连接使用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'
因此,您可以编写一个自定义的auth类,用于检索每个数据库连接:
$resource = $bootstrap->getPluginResource('multidb');
$dbadmin = $resource->getDb('dbadmin');
$dbtest = $resource->getDb('dbtest');
$dbcat = $resource->getDb('dbcat');
或者在你的引导程序中使用这个技巧。
请参阅Zend_Application_Resource_Multidb