<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/outcontrol.user-level-output-buffers.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'outcontrol.nesting-output-buffers.php',
    1 => 'Вложенные буферы вывода',
    2 => 'Вложенные буферы вывода',
  ),
  'up' => 
  array (
    0 => 'outcontrol.user-level-output-buffers.php',
    1 => 'Пользовательские буферы вывода',
  ),
  'prev' => 
  array (
    0 => 'outcontrol.what-output-is-buffered.php',
    1 => 'Какой вывод буферизуется?',
  ),
  'next' => 
  array (
    0 => 'outcontrol.buffer-size.php',
    1 => 'Размер буфера',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/outcontrol/user-level-output-buffers.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="outcontrol.nesting-output-buffers" class="section">
  <h2 class="title">Вложенные буферы вывода</h2>
  <p class="para">
   Новый буфер вкладывается внутрь предыдущего активного буфера,
   если при запуске нового буфера активен другой буфер вывода.
   Внутренний буфер поведёт себя точно как внешний,
   но вывод, который буферизовал внутренний буфер, не буферизуется внешним.
   Внешним буфером буферизуется только тот вывод внутреннего, который внутренний буфер сбросил.
  </p>
  <p class="para">
   Бо́льшая часть функций семейства <code class="literal">ob_<span class="replaceable">*</span></code> работает
   только с активным буфером вывода (который запустили последним),
   поэтому только активный буфер получится сбросить, очистить или отключить.
   К функциям, которые работают с другими буферами, относятся —
   функция <span class="function"><a href="function.ob-list-handlers.php" class="function">ob_list_handlers()</a></span>,
   которая возвращает список активных обработчиков вывода,
   и функция <span class="function"><a href="function.ob-get-status.php" class="function">ob_get_status()</a></span>,
   которая умеет возвращать информацию только об активном буфере
   или обо всех буферах.
  </p>
  <p class="para">
   Вызов функций <span class="function"><a href="function.ob-get-level.php" class="function">ob_get_level()</a></span>
   или <span class="function"><a href="function.ob-get-status.php" class="function">ob_get_status()</a></span> вернёт
   уровень вложенности активного буфера вывода.
  </p>
  <div class="caution"><strong class="caution">Предостережение</strong>
   <p class="simpara">
    Функции <span class="function"><a href="function.ob-get-level.php" class="function">ob_get_level()</a></span> и <span class="function"><a href="function.ob-get-status.php" class="function">ob_get_status()</a></span>
    по-разному оценивают один и тот же уровень вложенности; значение отклонено на единицу.

    Для функции <span class="function"><a href="function.ob-get-level.php" class="function">ob_get_level()</a></span>
    первый уровень — это <code class="literal">1</code>.
    Тогда как для функции <span class="function"><a href="function.ob-get-status.php" class="function">ob_get_status()</a></span>
    первый уровень — это <code class="literal">0</code>.
   </p>
  </div>
 </div><?php manual_footer($setup); ?>