在Zend框架中使用火鸟适配器连接数据库



我刚开始了解ZF和火鸟是因为我被分配到一个项目。这几天我一直在尝试把两者联系起来,但我还没有成功。我尝试了ZF与PDO_Mysql,它工作得很好,因为它与PHP的火鸟连接(出ZF),但是当我试图与ZF中的火鸟适配器连接时,它一直显示各种错误。

检查一下。要在ZF中与Firebird进行连接,应该使用我在application.ini中配置的适配器(Firebird.php) ?在application.ini中有这样的内容:

**resources.db.adapter = "Firebird"
resources.db.params.host = "localhost"
resources.db.params.dbname =  "C:/wamp/www/WebTH/application/data/THDATA.gdb"
resources.db.params.username = "sysdba"
resources.db.params.password = "masterkey"**

结果错误:...Firebird.php): failed to open stream: No such file or directory in ...Loader.php

我还看到需要在Bootstrap.php中添加一个函数。如果我像这样在bootstrap.php中添加initDb函数:

 **protected function _initDb()
{
    $this->bootstrap('config');
    $config = $this->getResource('config');
    $db = Zend_Db::factory('Firebird', array(
        'host' => $config->Database->Server,
        'username' => $config->Database->Username,
        'password' => $config->Database->Password,
        'dbname' => $config->Database->DBName,
        'adapterNamespace' => 'ZendX_Db_Adapter'
    ));
    return $db;
}**

我得到错误:...Uncaught exception 'Zend_Application_Bootstrap_Exception' with message 'Resource matching "config" not found' in ...BootstrapAbstract.php

我想知道我真正需要做什么才能使连接工作。对不起,如果这太明显了,但我还没能找到一个基本的连接案例特定于Zend框架和火鸟,因此我不太确定我应该做什么,我应该去哪里。

[披露:我从未使用过Firebird数据库]

您可能已经知道,Firebird适配器并不是作为核心ZF1包的一部分发布的。看起来你可以从ZendX前缀下的extras中提取它:

http://framework.zend.com/svn/framework/extras/trunk/library/ZendX/Db/Adapter/

Firebird.phpFirebird/文件放入目录library/ZendX/Db/Adapter/

如果您的application.ini使用resources.db.*键,那么在您的Bootstrap类中就不需要_initDb()方法。只要确保在这里也包含adapterNamespace键:

resources.db.params.adapterNamespace = "ZendX_Db_Adapter_"

您可能还需要在自动加载器名称空间中添加ZendX前缀:

autoloaderNamespaces[] = "ZendX_"

没有经过测试,但是这样应该可以工作

相关内容

  • 没有找到相关文章

最新更新