Reusing buffers

void ob_flush ( void )

void ob_clean ( void )

The functions ob_end_flush() and ob_end_clean() are complemented by ob_flush() and ob_clean() - these do the same jobs as their longer cousins, with the difference that they do not end the output buffer. We could rewrite the previous script like this:

<?php
    ob_start
();
    print
"Hello First!\n";
    
ob_flush();
    print
"Hello Second!\n";
    
ob_clean();
    print
"Hello Third!\n";
?>

This time the buffer is flushed but left open, then cleaned and still left open, and finally automatically closed and flushed by PHP as the script ends - this saves creating and destroying output buffers. Reusing buffers like this is about 60% faster than opening and closing buffers all the time, and is a smart move if you ever find yourself in this situation.

 

Next chapter: Stacking buffers >>

Previous chapter: Getting started

Jump to:

 

Home: Table of Contents

Follow us on Identi.ca or Twitter

Username:   Password:
Create Account | About TuxRadar