捕获当前操作中另一个动作的输出?

wiz*_*ard 5 zend-framework

我一直试图找到一种方法来捕获当前动作中另一个动作的输出(渲染视图)......类似于输出缓冲.

场景是我需要保存报告的"快照".报告中使用的数据不断变化,无论出于何种原因,我需要实际保存视图HTML而不仅仅是数据数组.我创建了一个snapshotAction(),我想以某种方式捕获其中单独的reportAction()的输出.我不想将reportAction()渲染到屏幕上,我希望它在操作完成之前在当前操作中呈现.

在ZF有什么办法吗?


Benedict Cohen在下面正确回答,但直到我在ZF邮件列表档案中看到这种用法我才意识到: 如何渲染多个动作视图?

我正在使用类似的东西:

public function snapshotAction () {
    $content = $this->view->action('run', 'report');
    ...etc...
}
Run Code Online (Sandbox Code Playgroud)

Ben*_*hen 7

有一个名为"动作"视图助手可能会有所帮助.您指定控制器和操作以及参数并返回结果.助手创建一个新的调度循环中,所以如果你用了很多它可能会影响性能(我不担心性能,直到有证据表明,它造成的问题).