Буферизация
Буферизация - метод хранения, ввода, вывода информации на вычислительной машине. Процесс буферизации разделяется на 2 этапа:
1. сборщик информации(ввод данных)
2. вывод или передача хранимых данных
Буферизация полезна тем, что система не ждет результата выполнения кода(echo или print) и сразу двигается дальше, а так же можно прописывать старт зоголовков в любом месте(setcookie, header). Поясню на примере:
#PHP
<?php
ob_start('ob_gzhandler',4); // включение сжатия 0 - 9
ob_start(); // старт буферизации
// не меняйте местами сжатие и старт буферизации, иначе страница просто не откроется во многих браузерах!!
if(strpos($_SERVER['HTTP_USER_AGENT'],'opera')!==false){
$title='Титлы для оперы';
}else{
$title='Титлы для других браузеров';
}
echo 'Приветствую на моем сайте!';
setcookie('test','value');
include_once 'head.php';
head.php:
#PHP
<?php
$buff=ob_get_contents(); // можно сделать дополнительные операции с данными из буфера
ob_clean(); // очишаем буфер
echo '<html>
<head>
<title>'.$title.'</title>
<body>';
echo $buff; // вывод содержимого буфера
echo '</body>
</html>';
Отсюда мы видим что при буферизации можно изменять данные(в данном случае титлы), затем установив их в нужное место. И не надо ограничиваться титлами,так же можно записывать различные ошибки или уведомления в $error, $warn или $true. Стоит учесть 1 "но": функцию output_add_rewrite_var()[1] нужно активировывать после ob_clean().
[1]output_add_rewrite_var() служит для автоматического пристыковывания переменной и ее значение к ссылкам и формам(на header это не действует!)
Комментарии:
Нету комментариев для вывода...