Возврат данных с помощью Zend Framework Helper View
Я создаю помощник представления, чтобы иметь дело с возвратом некоторого экрана данных, извлеченного из другого места, и мой вопрос, каков наилучший способ собрать собранные данные и вернуть их для использования в представлении?
Предположим, что помощник вида выходит и успешно захватывает несколько 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 ответ
Я бы добавил частичный аргумент представления и передал данные в назначенный частичный сценарий, возвращая результат, используя partial
или же partialLoop
помощники (в зависимости от ваших данных), например
<?php echo $this->myHelper('path/to/partial.phtml') ?>
и в твоем помощнике
return $this->partial($partialScript, $data);
Редактирование Если вы хотите упростить вещи, вы можете сделать частичный аргумент необязательным, а если его не было, создайте внутреннюю HTML-строку.
Основные идеи с помощью помощников представления состоят в том, что они возвращают строки или объекты, которые реализуют __toString()