Возврат данных с помощью Zend Framework Helper View - PullRequest
0 голосов
/ 09 февраля 2011

Я создаю помощника представления, чтобы иметь дело с возвратом некоторого экрана данных, извлеченного из другого места, и мой вопрос заключается в том, каков наилучший способ сбора собранных данных и возврата их для использования в представлении?

Предположим, что помощник вида выходит и успешно захватывает несколько дел, заполненных данными.

Должен ли я возвращать массив данных и повторять его в представлении?

$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 Ответ

1 голос
/ 09 февраля 2011

Я бы добавил частичный аргумент представления и передал данные в назначенный частичный сценарий, возвращая результат с помощью помощников partial или partialLoop (в зависимости от ваших данных), например

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

и в вашем помощнике

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

Редактировать Если вы хотите упростить вещи, вы можете сделать частичный аргумент необязательным, а в случае его отсутствия построить внутреннюю HTML-строку.

Основная идея помощников представления заключается в том, что они возвращают строки или объекты, которые реализуют __toString()

...