Zend Framework - последний код, выполняемый перед визуализацией макета

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

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

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

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

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

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

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

1 ответ

Решение

Обзор процесса отправки ZF1 (c) Торстена Руфа

см. оригинальный PDF, созданный Thorsten Ruf ( Mirror)

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

РЕДАКТИРОВАТЬ: для ZendFramework2 см. Http://zendframework2.de/en/cheat-sheet.html или этот gdoc

Другие вопросы по тегам