Zend Framework与ZFDebug,如何获取db适配器

时间:2011-08-12 20:35:03

标签: php mysql

我的application.ini文件中有以下内容

resources.db.adapter = "PDO_MYSQL" resources.db.params.host = "localhost" resources.db.params.username = ".." resources.db.params.password = ".." resources.db.params.dbname = "lsc3_base" resources.db.isDefaultTableAdapter = true

现在这完美无缺,我可以查询数据库没问题。

我试图在我的主bootstrap.php文件中使用以下内容轻松安装ZFDebug

`protected function _initZFDebug()     {         $ autoloader = Zend_Loader_Autoloader :: getInstance();         $ autoloader-> registerNamespace( 'ZFDebug');

    $options = array(
        'plugins' => array('Variables', 
            'Time',
            #'Auth',
            'Memory',
            'Registry', 
            'Database' => array('adapter' => $db), 
            'File' => array('basePath' => '/path/to/project'),
            #'Cache' => array('backend' => $cache->getBackend()), 
            'Exception')
    );
    $debug = new ZFDebug_Controller_Plugin_Debug($options);

    $this->bootstrap('frontController');
    $frontController = $this->getResource('frontController');
    $frontController->registerPlugin($debug);
} 

` 现在这显然让我注意到$ db undefined。

问题是如何获得$ db?

我尝试过以下方法: $ db = Zend_Db_Table :: getDefaultAdapter(); $ db = $ this-> getPluginResource('db');

我假设不工作,因为它在我的引导程序中执行所有操作后连接到数据库。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

这应该有帮助,像这样制作一个$ db变量:

$this->bootstrap('db');
$db = $this->getPluginResource('db')->getDbAdapter();