[cvs] [Wiki] created: Doc/Dev/BufferH4

Michael Slusarz slusarz at horde.org
Tue Apr 13 23:06:57 UTC 2010


slusarz  Tue, 13 Apr 2010 19:06:57 -0400

Created page: http://wiki.horde.org/Doc/Dev/BufferH4

++ Output Buffering (H4)

Normally in PHP, one could wrap code in {{ob_start()}} and  
{{ob_get_clean()}} to grab output meant for the browser.   
Unfortunately, it is not so easy in the Horde framework since CSS  
stylesheet and JS output must not be sent until the page is entirely  
ready to output to the browser.

Therefore, it is necessary to use the Horde utility functions  
{{Horde::startBuffer()}} and {{Horde::endBuffer()}} to do output  
buffering.  Example:

<code type="php">Horde::startBuffer();
$notification->notify(array('listeners' => 'status'));
$notify_output = Horde::endBuffer();
</code>

In the above example, the status notifications may do things like add  
javascript files to the output buffer.  By using  
startBuffer()/endBuffer(), this guarantees that these javascript files  
will not be output to the browser and will instead properly be  
displayed when the page header is eventually created (normally  
{{templates/common-header.inc}}).



More information about the cvs mailing list