我正在创建一个视图帮助器来处理从其他地方返回的一些数据屏幕,我的问题是,收集数据并将其返回以供在视图中使用的最佳方法是什么?
假设视图助手熄灭并成功抓取了几个充满数据的div。
我应该返回一个数据数组并在视图中迭代它吗?
$i = 0
foreach($this->myHelper as $noob) {
echo '<div><h3>'.$noob[$i][0].'</h3><a href="'.$noob[$i][1].'">'.$noob[$i][2].'</a></div>';
$i++;
}
或者可能在视图助手中构建输出并将整个批次作为字符串返回?
echo $this->myHelper;
/* giving me something like:
<div><h3>Foo1</h3><a href="bar1.htm">bar1</a></div>
<div><h3>Foo2</h3><a href="bar2.htm">bar2</a></div>
*/
或者返回一个对象而不是一个数组或者我想要的其他方式(或者在上面的示例中搞砸了)?提前谢谢。
答案 0 :(得分:1)
我添加了一个视图部分参数并将数据传递给指定的部分脚本,使用partial
或partialLoop
帮助器(取决于您的数据)返回结果,例如
<?php echo $this->myHelper('path/to/partial.phtml') ?>
并在你的助手
return $this->partial($partialScript, $data);
编辑如果您想简化某些事情,可以将部分参数设为可选,如果缺少部分参数,请在内部构建HTML字符串。
视图助手的基本思想是返回实现__toString()