我可以在Zend中使用Partial控制器吗?

时间:2012-10-10 16:19:53

标签: php model-view-controller zend-framework

在Zend Framework中,是否可以让控制器执行某些逻辑,然后设置一些视图变量以供部分显示?


澄清我有一个实现部分的视图。

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

此时逻辑位于部分视图(.pthml文件)中。

是否有控制器或其他东西可用于在局部视图之外执行此逻辑?

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

1 个答案:

答案 0 :(得分:3)

保持逻辑不在您的视野范围内是一件好事,而view helpers就是为此而设计的。

writing your own部分对您特别感兴趣。

这将允许您通过编写类似以下内容来保持逻辑不在视图中: -

<?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!");
    }
}

然后按上述方式调用它,您无需执行任何其他操作。