开发者

Zend Framework - Last Code to Execute Before Layout is Rendered

开发者 https://www.devze.com 2022-12-20 12:49 出处:网络
I want to execute some code right before the layout is rendered, after all other code is executed.Where would I put that code?

I want to execute some code right before the layout is rendered, after all other code is executed. Where would I put that code?

I am specifically trying to modify the files ref开发者_StackOverflowerenced in the headLink, headScript, and inlineScript view helpers before they're used by the layout.

Here are the steps I want to take:

  1. Loop over the files in those view helpers
  2. Make a list of the local files
  3. Remove local files from the view helpers
  4. Reference the local file list as a parameter to a server script that combines them for a single HTTP request
  5. Add that new combine script reference to the appropriate view helper

It doesn't appear that a Front Controller Plugin is going to help me accomplish this, and here's why:

  1. postDispatch() gets executed after every controller action that's executed, and I need the full list of stylesheets/javascripts
  2. dispatchLoopShutdown() gets executed after the controller action loop, but the layout has already been rendered at this point

As Rufinus suggested, I solved this by extending the View Helpers. My question from that angle as well as the solution is here.


Zend Framework - Last Code to Execute Before Layout is Rendered

see Orginal PDF created by Thorsten Ruf (Mirror)

the very last part you can access via plugin should be dispatchLoopShutdown

EDIT: For ZendFramework2 see http://zendframework2.de/en/cheat-sheet.html or this gdoc

0

精彩评论

暂无评论...
验证码 换一张
取 消