Zend_db_table有更好的方法吗?

时间:2012-01-08 19:33:33

标签: php zend-framework

这就是我的启动模型的样子:

<?php
class Test extends Zend_Db_Table{
protected $_name = 'test';
/**
 *
 * @staticvar Test $instance
 * @return Test
 */
static public function getInstance() {
    static $instance;
    if (!($instance instanceof Test)) {
        $instance = new Test();
        $instance->init();
    }
    return $instance;
}

}

所以每次我想在我的控制器中使用它时我都要创建它$var = Test::getInstance();有没有办法扩展Zend_Controller来自动化它?我的意思是我不想每次都在我的控制器中这样做,我只想使用$var->foo所以我可以在插件中实例化或者扩展Zend_Controller吗?或者有更好的主意?

1 个答案:

答案 0 :(得分:1)

也许您有充分的理由将课程从Zend_Db_Table而不是Zend_Db_Table_Abstract扩展,但后者通常是最常用的方法。并且它不会强制您调用getInstance(),您只需将数据库适配器作为参数传递给构造函数。

您可以在此处找到更多信息:http://framework.zend.com/manual/en/zend.db.table.html#zend.db.table.defining

希望有所帮助,