代码之家  ›  专栏  ›  技术社区  ›  Sonny

Zend框架-呈现布局之前要执行的最后一个代码

  •  1
  • Sonny  · 技术社区  · 15 年前

    我希望在呈现布局之前,在执行所有其他代码之后,执行一些代码。我把代码放在哪里?

    我特别尝试在布局使用headlink、headscript和inlinescript视图帮助器之前修改它们中引用的文件。

    以下是我要采取的步骤:

    1. 循环查看这些视图帮助程序中的文件
    2. 列出本地文件
    3. 从视图帮助程序中删除本地文件
    4. 将本地文件列表作为参数引用到一个服务器脚本,该脚本为单个HTTP请求组合这些文件列表。
    5. 将新的合并脚本引用添加到适当的视图帮助器

    似乎前端控制器插件不会帮助我完成这一任务,原因如下:

    1. postDispatch() 在执行每个控制器操作之后执行,我需要样式表/javascripts的完整列表
    2. dispatchLoopShutdown() 在控制器操作循环之后执行,但此时已呈现布局

    正如鲁芬斯建议的,我通过扩展视图帮助器来解决这个问题。 My question from that angle as well as the solution is here .