Захватить вывод другого действия в текущем действии? - PullRequest
5 голосов
/ 02 июня 2010

Я пытался найти способ захвата вывода (визуализированного представления) другого действия в текущем действии ... что-то похожее на буферизацию вывода.

Сценарий заключается в том, что мне нужно сохранить «снимок» отчета. Данные, используемые в отчете, постоянно меняются, и по любой причине мне нужно сохранить HTML-код представления, а не просто массив данных. Я создал snapshotAction (), и я хочу каким-то образом захватить выходные данные отдельного reportAction () внутри него. Я не хочу отображать reportAction () на экране, я хочу, чтобы он отображался в моем текущем действии до его завершения.

Есть ли способ сделать это в ZF? <ч /> Правильный ответ Бенедикта Коэна ниже, но я не понял этого, пока не увидел это использование в архивах списков рассылки ZF: Как отобразить несколько видов действий?

Я использую что-то похожее:

public function snapshotAction () {
    $content = $this->view->action('run', 'report');
    ...etc...
}

Ответы [ 2 ]

7 голосов
/ 02 июня 2010

Есть помощник вида , называемый 'action' , который может быть полезен. Вы указываете контроллер и действие и параметры, и он возвращает результат. Помощник создает новый цикл диспетчеризации, поэтому, если вы будете его часто использовать, это может повлиять на производительность (я не беспокоюсь о производительности, пока нет доказательств, что это вызывает проблемы).

0 голосов
/ 02 июня 2010

Взгляните на этот другой пост . Классы Zend_Cache могут просто помочь вам найти то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...