Zend:查看帮助程序与部分视图

时间:2013-12-27 14:00:33

标签: zend-framework2 partial-views view-helpers

这实际上是this的后续问题。何时使用局部视图更好,何时使用视图助手更好?

1 个答案:

答案 0 :(得分:3)

查看助手

如果您需要在视图中添加一些重复/复杂逻辑,则通常使用。一个很好的例子是一些已经提供的视图助手,例如Zend\View\Helper\Url

Zend\View\Helper\Url旨在抽象出URL的重复构造,否则每次需要链接时都会非常混乱(并且容易出错)。

echo $this->url('zfcadmin/admin', array('action' => 'index');
/** /admin/home **/ 

关于所有视图帮助程序的好处是能够向简单的API提供各种数据,并且可以构造输出并将其返回到视图,而不会让视图知道数据是如何生成的。

对于URL视图助手;与路由器之间存在复杂的交互,所有这些都可以在一个地方完成。

查看部分

相反,查看部分内容都是关于将HTML(或其他视图数据)片段“注入”到其他模板中。它们减少了重复编写相同HTML结构的需要,其中只有一些变量不同;允许您将视图脚本创建为可重复使用的“模板”。

The documentation states

  

Partial view helper用于在自己的变量范围内呈现指定的模板。主要用途是可重复使用的模板片段,您无需担心变量名称冲突

我经常会使用一个视图部分,其中有一小块HTML应该重复使用,如“小部件”或循环中的某些内容。

注意

由于视图部分和视图助手正在尝试完成的内容之间存在明显的区别,因此您通常会同时使用它们来创建最终输出。例如,您在$this->partial('/module/foo/bar.phtml', array());中包含的视图部分实际上可能在'/module/foo/bar.phtml中使用视图助手(因为它也是视图)。

注2

当您在视图中使用$this->partial();时,只是为了让您更加困惑;您实际上正在使用内置的局部视图帮助 Zend/View/Helper/Partial