据我所知,只有动作助手&查看帮助器在zend框架中可用。
有没有模型助手?
或我们如何实现模型助手?
答案 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,所以如果任何人有更好更清洁的解决方案,我将非常感激。