У меня есть это application.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
войдите как ТЕСТ —> выберите MySQL DB: TestXXX
войдите как кот —> выберите 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');
Или сделайте этот трюк в вашей начальной загрузке.
Других решений пока нет …