模型助手 Zend

发布于 2024-09-25 23:08:42 字数 81 浏览 3 评论 0原文

据我所知,只有动作助手和动作助手。查看 zend 框架中可用的帮助程序。

有模型助手吗?

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

from what i know there is only action helper & view helper available at zend framework.

is there any model helper?

or how we can implement the model helper?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

救赎№ 2024-10-02 23:08:43

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

There's nothing in ZF actually called a Model helper - but if your model is accessing a database table you might want to create it as a class which extends Zend_Db_Table_Abstract. See examples in the ZF manual: http://framework.zend.com/manual/en/zend.db.table.html

过期情话 2024-10-02 23:08:43

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

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

class Application_Model_Helper_DateHelper
{
...
}

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

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

class Zend_View_Helper_DarkBlueMenu extends Zend_View_Helper_Abstract 
{
...
} 

但是,如果您将 models 内的文件夹命名为 <那么它里面的类必须这样命名:

class Application_Model_helpers_DateHelper
{
...
}

In Zend Framework there is nothing defined for the models helpers like there is for the views helpers, however you can work around it and still preserve the application design (avoid using the library folder).

The way I do it is by adding a Helper folder inside the models one. Then you have to name your class like this:

class Application_Model_Helper_DateHelper
{
...
}

Then the autoloader will take care of finding it and loading it.

Unfortunately this naming is a little different from how you do it in the views folder. In the views folder you can create a folder named helpers and use a naming convention like:

class Zend_View_Helper_DarkBlueMenu extends Zend_View_Helper_Abstract 
{
...
} 

However, if you name the folder inside models as helpers then the classes inside it have to be named like this:

class Application_Model_helpers_DateHelper
{
...
}
枫以 2024-10-02 23:08:43

首先,我将这一行添加到我的配置文件中,即。 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,因此如果有人有更好、更干净的解决方案,我将不胜感激。

First I add this line in my configuration file ie. application.ini:

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

Then I add a class

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

in a file placed in ..library\App\Model\Helper.php

This is the only way I found to factor the code I use in the model.

The helper method can then be called from the model:

App_Model_Helper::resultAggregation($results);

I am aware this breaks the OOD, so if any one has a better and cleaner solution I would greatly appreciate.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文