在Zend Framework中,是否可以让控制器执行某些逻辑,然后设置一些视图变量以供部分显示?
澄清我有一个实现部分的视图。
我有部分逻辑从数据库中获取一些项目。然后显示项目。
此时逻辑位于部分视图(.pthml文件)中。
是否有控制器或其他东西可用于在局部视图之外执行此逻辑?
据我了解MVP模式,我不应该在视图中有这样的逻辑。
答案 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!");
}
}
然后按上述方式调用它,您无需执行任何其他操作。