模型助手Zend

时间:2010-10-02 01:48:49

标签: zend-framework model helper

据我所知,只有动作助手&查看帮助器在zend框架中可用。

有没有模型助手?

或我们如何实现模型助手?

3 个答案:

答案 0 :(得分:2)

ZF中没有任何内容实际上称为模型帮助程序 - 但如果您的模型正在访问数据库表,您可能希望将其创建为扩展Zend_Db_Table_Abstract的类。请参阅ZF手册中的示例:http://framework.zend.com/manual/en/zend.db.table.html

答案 1 :(得分:1)

在Zend Framework中,没有像模型助手那样为视图助手定义,但是你可以解决它并仍然保留应用程序设计(避免使用库文件夹)。

我这样做的方法是在模型中添加一个 Helper 文件夹。然后你必须这样命名你的类:

class Application_Model_Helper_DateHelper
{
...
}

然后自动加载器将负责找到它并加载它。

不幸的是,这个命名与您在views文件夹中的操作方式略有不同。在视图文件夹中,您可以创建名为帮助程序的文件夹,并使用如下命名约定:

class Zend_View_Helper_DarkBlueMenu extends Zend_View_Helper_Abstract 
{
...
} 

但是,如果您将模型中的文件夹命名为帮助程序,则其中的类必须按以下方式命名:

class Application_Model_helpers_DateHelper
{
...
}

答案 2 :(得分:0)

首先我在配置文件中添加此行,即。的application.ini:

includePaths.library                    = APPLICATION_PATH "/../library"

然后我添加一个类

class App_Model_Helper {   
    public static function resultAggregation($results) {}
    //.... all the helper you need
}

放在..library\App\Model\Helper.php

中的文件中

这是我找到的唯一方法来计算我在模型中使用的代码。

然后可以从模型中调用辅助方法:

App_Model_Helper::resultAggregation($results);

我知道这打破了OOD,所以如果任何人有更好更清洁的解决方案,我将非常感激。