这实际上是this的后续问题。何时使用局部视图更好,何时使用视图助手更好?
答案 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结构的需要,其中只有一些变量不同;允许您将视图脚本创建为可重复使用的“模板”。
Partial view helper用于在自己的变量范围内呈现指定的模板。主要用途是可重复使用的模板片段,您无需担心变量名称冲突
我经常会使用一个视图部分,其中有一小块HTML应该重复使用,如“小部件”或循环中的某些内容。
注意强>
由于视图部分和视图助手正在尝试完成的内容之间存在明显的区别,因此您通常会同时使用它们来创建最终输出。例如,您在$this->partial('/module/foo/bar.phtml', array());
中包含的视图部分实际上可能在'/module/foo/bar.phtml
中使用视图助手(因为它也是视图)。
注2
当您在视图中使用$this->partial();
时,只是为了让您更加困惑;您实际上正在使用内置的局部视图帮助 Zend/View/Helper/Partial