Иногда может быть полезно записывать всю выводимую php информацию в буфер, а не сразу на экран. На принципе буферизации информации основаны многие полностраничные системы кэширования информации. В самом начале вывода информации запускается функция записи в буфер, а в самом конце вывода информации буфер записывается в кэш и выводится на экран.

Зачем еще нужна буферизация информации?
На самом деле я не знаю, т.к. в большей степени я практик и изучаю всю (ту часть, что получается) теорию прямо во время деле ))

Из буферизованного вывода информации можно извлечь также такой плюс, как что-то вроде отложенной проверки содержимого. Т.е. такой реальный пример:
Мы запрашиваем адрес страницы (например wordpress.ru/wp/post/55.php), диспечер обрабатывает запрос и убеждается, что он валиден, запускается обработчик, выполняется какая-то логика в ходе которой оказывается, что у нас не существует 55 поста в категории wp, можно конечно сделать на такой случай как в wordpress вывод информации, что мол извините, но ничего не найдено. А можно подключить дополнительную логику, которая отработает перед выводом информации из буфера, например редирект на 404 страницу.

На самом деле благодаря буферизации информации, можно сделать многие вещи, от вставки дополнительной логики, которая зависит от результата логики, которая доступна уже после начала вывода информации, до автозамен кусков кода (бред, но чего только не встретишь) перед выводом буфера на экран.

Но также стоит скорее всего отметить, что информация в браузере не будет выводится до тех пор пока буфер не будет выведен. Это значит, что если скрипт долго работает, то мы будем ожидать вывод страницы с признаками белого экрана, иначе у нас бы отрисовалась часть сайта и затем была бы пауза, пока отрабатывает та «долгая» часть страницы, и продолжилась бы дальше отрисовка страинцы в браузере.

Все выше написанное является просто моими рассуждениями и не более того.

Прочтите также: