在 Zend 框架中是否有可能有一个控制器来执行一些逻辑,然后设置一些视图变量以供部分显示?
为了澄清,我有一个实现部分的观点。
我的部分逻辑是从数据库中获取一些项目。然后显示项目。
目前,逻辑在部分视图(.pthml 文件)中。
是否有控制器或我可以用来在局部视图之外执行此逻辑的东西?
据我了解 MVP 模式,我不应该在视图中有这样的逻辑。
在 Zend 框架中是否有可能有一个控制器来执行一些逻辑,然后设置一些视图变量以供部分显示?
为了澄清,我有一个实现部分的观点。
我的部分逻辑是从数据库中获取一些项目。然后显示项目。
目前,逻辑在部分视图(.pthml 文件)中。
是否有控制器或我可以用来在局部视图之外执行此逻辑的东西?
据我了解 MVP 模式,我不应该在视图中有这样的逻辑。
将逻辑排除在您的视图之外是一件好事,这就是视图助手的设计目的。
关于编写自己的部分将是您特别感兴趣的。
这将允许您通过编写如下内容将逻辑排除在视图之外:-
<?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!");
}
}
然后像上面那样调用它,你不需要做任何其他事情。