在Zend Framework中更改Database Adapter类的路径

时间:2011-04-12 05:50:28

标签: zend-framework adapter customization

我编写了一个定制的数据库适配器,扩展了Mysql Adapter(Zend_Db_Adapter_Mysqli),我的application.ini看起来如下: -

resources.multidb.master.adapter = PDO_MYSQLCUSTOMIZED
resources.multidb.master.host = HOSTNAME
resources.multidb.master.username = USER
resources.multidb.master.password = PASS
resources.multidb.master.dbname = DB

(这样做的原因是this?)

现在我的问题是我必须在默认路径中保存Zend_Db_Adapter_Pdo_Mysqlcustomized,即/library/Zend/Db/Adapter/Pdo/Mysqlcustomized.php.

我不想在库中保存Zend_Db_Adapter_Pdo_Mysqlndtv类。

我该怎么办?

2 个答案:

答案 0 :(得分:5)

最简单的做法是将您的课程重命名为My_Db_Adapter_Pdo_Mysql,将其存储在library/My/Db/Adapter/Pdo/Mysql.php中,然后在配置文件中添加/设置这些内容......

autoloaderNamespaces.My = "My_"
resources.multidb.master.adapter = "My_Db_Adapter_Pdo_Mysql"

答案 1 :(得分:3)

您还可以使用常规适配器ini设置:

resources.db.adapter = "Pdo_Mysql"

然后定义前缀/命名空间以强制它在本地库中查看(假设你有YourLibs / Db / Adapter / Pdo / Mysql.php)

resources.db.params.adapterNamespace = "YourLibs_Db_Adapter"