Zend Framework - последний код, выполняемый перед визуализацией макета - PullRequest
1 голос
/ 12 февраля 2010

Я хочу выполнить некоторый код прямо перед отображением макета, после того, как весь другой код будет выполнен. Где бы я положил этот код?

Я специально пытаюсь изменить файлы, на которые ссылаются помощники вида headLink, headScript и inlineScript, прежде чем они будут использованы макетом.

Вот шаги, которые я хочу предпринять:

  1. Зацикливать файлы в этих помощниках вида
  2. Составьте список локальных файлов
  3. Удалить локальные файлы из помощников вида
  4. Ссылка на локальный список файлов в качестве параметра для серверного скрипта, который объединяет их для одного HTTP-запроса
  5. Добавить эту новую ссылку на скрипт объединения в соответствующий помощник вида

Похоже, что плагин Front Controller не поможет мне в этом, и вот почему:

  1. postDispatch() выполняется после каждого выполняемого действия контроллера, и мне нужен полный список таблиц стилей / javascripts
  2. dispatchLoopShutdown() выполняется после цикла действия контроллера, но компоновка уже визуализирована на этом этапе

Как предложил Руфинус, я решил это, расширив помощников вида. Мой вопрос с этой точки зрения, а также решение здесь .

1 Ответ

13 голосов
/ 12 февраля 2010

ZF1 Dispatch Process Overview (c) by Thorsten Ruf

см. Оригинальный PDF, созданный Торстеном Руфом ( Зеркало )

самая последняя часть, к которой вы можете получить доступ через плагин, должна быть dispatchLoopShutdown

EDIT: Для ZendFramework2 см http://zendframework2.de/en/cheat-sheet.html или этот гдок

...