Zend Framework - последний код, выполняемый перед визуализацией макета
Я хочу выполнить некоторый код прямо перед отображением макета, после того, как весь другой код будет выполнен. Где бы я положил этот код?
Я специально пытаюсь изменить файлы, на которые ссылаются помощники вида headLink, headScript и inlineScript, прежде чем они будут использованы макетом.
Вот шаги, которые я хочу предпринять:
- Переберите файлы в этих помощниках вида
- Составьте список локальных файлов
- Удалить локальные файлы из помощников просмотра
- Ссылка на локальный список файлов в качестве параметра на сценарий сервера, который объединяет их для одного HTTP-запроса
- Добавьте эту новую ссылку на скрипт объединения в соответствующий помощник вида
Похоже, что плагин Front Controller не поможет мне в этом, и вот почему:
postDispatch()
выполняется после каждого выполненного действия контроллера, и мне нужен полный список таблиц стилей /javascriptsdispatchLoopShutdown()
выполняется после цикла действия контроллера, но компоновка уже визуализирована
Как предложил Руфинус, я решил эту проблему, расширив помощников вида. Мой вопрос с этой точки зрения, а также решение здесь.
1 ответ
см. оригинальный PDF, созданный Thorsten Ruf ( Mirror)
самая последняя часть, к которой вы можете получить доступ через плагин, должна быть dispatchLoopShutdown
РЕДАКТИРОВАТЬ: для ZendFramework2 см. Http://zendframework2.de/en/cheat-sheet.html или этот gdoc