【问题标题】:Zend Framework fetchAllZend 框架 fetchAll
【发布时间】:2008-10-09 10:01:16
【问题描述】:

我可以覆盖模型中的 fetchall 方法吗?每次调用 fetchAll 时我都需要检查一下。该模型扩展了 Zend_db_table_abstract

【问题讨论】:

    标签: php zend-framework model overriding fetchall


    【解决方案1】:

    要覆盖这个方法,您需要继承 Zend_Db_Table_Abstract。像这样:

    <?php
    abstract class My_Db_Table_Abstract extends Zend_Db_Table_Abstract
    {
        ...
    
        public function fetchAll($where, $order)
        {
            ...
        }
    
        ...
    }
    

    然后确保您的模型改为扩展 My_Db_Table_Abstract。这样,您将始终继承被覆盖的 fetchAll 方法。

    【讨论】:

    • 既然你将它命名为Abstract,你可能希望它是abstract class
    【解决方案2】:

    是的。只需在模型中定义一个新的 fetchAll() 方法,其结构与 Zend_db_table_abstract 方法相同(即相同的输入/输出),然后在方法结束时调用父方法:

    父级::fetchAll($params)

    安德鲁

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-24
      • 1970-01-01
      • 2011-04-06
      • 2012-05-02
      • 2013-02-23
      • 2011-01-29
      • 2013-05-22
      相关资源
      最近更新 更多