1

在 Zend 框架中是否有可能有一个控制器来执行一些逻辑,然后设置一些视图变量以供部分显示?


为了澄清,我有一个实现部分的观点。

我的部分逻辑是从数据库中获取一些项目。然后显示项目。

目前,逻辑在部分视图(.pthml 文件)中。

是否有控制器或我可以用来在局部视图之外执行此逻辑的东西?

据我了解 MVP 模式,我不应该在视图中有这样的逻辑。

4

1 回答 1

3

将逻辑排除在您的视图之外是一件好事,这就是视图助手的设计目的。

关于编写自己的部分将是您特别感兴趣的。

这将允许您通过编写如下内容将逻辑排除在视图之外:-

<?php echo $this->getItems(); ?>

在你看来,而不是在那里有逻辑。

例如,创建一个名为 getItems 的助手非常容易。创建application/views/helpers/GetItems.php并创建您的助手:-

class Zend_View_Helper_GetItems extends Zend_View_Helper_Abstract
{
    public function getItems()
    {
        //Do some stuff
        return $this->view->escape("Did some stuff!");
    }
}

然后像上面那样调用它,你不需要做任何其他事情。

于 2012-10-10T16:47:45.227 回答