我试图使用Zend,而不使用MVC结构,特别是Db_Table
类。
我已经创建了几个类表示我的数据库表,即
class DBTables_Templates extends Zend_Db_Table_Abstract
{
protected $_name = "templates";
}
当我尝试实例化这个类时(它包含得很好),我得到以下错误:
致命错误:默认异常“Zend_Db_Table_Exception”和消息“DBTables_Templates找不到适配器”
有人知道我是如何为Db_Table
类创建和包含数据库适配器的吗?
任何指点都是非常感谢的!我使用的是ZF的最新版本。
发布于 2009-10-06 08:32:29
您需要创建一个Zend_Db_Adapter,它是连接到数据库的类。
$db = new Zend_Db_Adapter_Pdo_Mysql(array(
'host' => '127.0.0.1',
'username' => 'webuser',
'password' => 'xxxxxxxx',
'dbname' => 'test'
));
或者可以使用factory()
方法使实例化更加可配置:
$db = Zend_Db::factory('Pdo_Mysql', array(
'host' => '127.0.0.1',
'username' => 'webuser',
'password' => 'xxxxxxxx',
'dbname' => 'test'
));
请参阅http://framework.zend.com/manual/en/zend.db.html#zend.db.adapter.connecting
然后将此适配器对象指定为表类。至少有三种方法可以做到这一点:
Zend_Db_Table_Abstract::setDefaultAdapter($db);
$table =新MyTable(数组(‘db’>$db));
Zend_Registry::set('my_db',$db);$table =新MyTable(数组(‘db’=‘my_db’) );//或者:
请参阅http://framework.zend.com/manual/en/zend.db.table.html#zend.db.table.constructing
https://stackoverflow.com/questions/1526656
复制相似问题