我希望 ZF2 大师可以在这里帮助我一点。我刚刚开始将我的一个项目从 ZF1 转换为 ZF2,我偶然发现了一段我真的不知道如何在 ZF2 中重新编写它们的代码。这就是问题所在。
我有一个页面,用户可以在其中查看选定的博客文章。在同一页面中,我有一个视图助手,它显示帖子的所有评论,如下所示:
<?php echo $this->comments($blog->id); ?>
当用户在表单中提交评论时,评论通过 getJSON 函数 (jQuery) 传输到控制器。控制器将存储评论并向 getJSON 函数返回 true/false,具体取决于他们的评论是否有任何问题。
接下来发生的是相同的控制器,并且假设相同的操作回显视图助手,用户将看到新提交的评论显示在同一页面中。在我的 ZF1 代码中,我可以通过在控制器中使用以下代码来做到这一点:
首先,在 ZF1 控制器中定义了一个 preDispatch 函数:
public function preDispatch() {
$this->session = new Zend_Session_Namespace('default');
if (!$this->session->view) {
$this->session->view = $this->view;
}
}
然后,在 savecommentAction() 的某个地方,我只需要这样做:
echo $this->session->view->Comments();
并且用户视图中的评论将被更新。
有谁知道我怎样才能在 ZF2 中完成上述操作?我一直试图想办法在 ZF2 中使用 ViewModel 来做到这一点,但在过去的 48 小时里我一直在挠头,我很快就会用尽头发来挠。希望你们中的任何人都可以帮助我弄清楚我在做这件事时缺少什么。