使用Zend Framework View Helper返回数据

时间:2011-02-08 23:06:42

标签: php zend-framework zend-view view-helpers

我正在创建一个视图帮助器来处理从其他地方返回的一些数据屏幕,我的问题是,收集数据并将其返回以供在视图中使用的最佳方法是什么?

假设视图助手熄灭并成功抓取了几个充满数据的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>
*/

或者返回一个对象而不是一个数组或者我想要的其他方式(或者在上面的示例中搞砸了)?提前谢谢。

1 个答案:

答案 0 :(得分:1)

我添加了一个视图部分参数并将数据传递给指定的部分脚本,使用partialpartialLoop帮助器(取决于您的数据)返回结果,例如

<?php echo $this->myHelper('path/to/partial.phtml') ?>

并在你的助手

return $this->partial($partialScript, $data);

编辑如果您想简化某些事情,可以将部分参数设为可选,如果缺少部分参数,请在内部构建HTML字符串。

视图助手的基本思想是返回实现__toString()

的字符串或对象