Где находится ob_start в ответе?

Если я использую $response->send() тогда этот код выполняется:

public static function closeOutputBuffers($targetLevel, $flush)
    {
        $status = ob_get_status(true);
        $level = count($status);
        // PHP_OUTPUT_HANDLER_* are not defined on HHVM 3.3
        $flags = defined('PHP_OUTPUT_HANDLER_REMOVABLE') ? PHP_OUTPUT_HANDLER_REMOVABLE | ($flush ? PHP_OUTPUT_HANDLER_FLUSHABLE : PHP_OUTPUT_HANDLER_CLEANABLE) : -1;

        while ($level-- > $targetLevel && ($s = $status[$level]) && (!isset($s['del']) ? !isset($s['flags']) || ($s['flags'] & $flags) === $flags : $s['del'])) {
            if ($flush) {
                ob_end_flush();
            } else {
                ob_end_clean();
            }
        }
    }

Но нет ни одного во всем классе ob_start так далее...

Как можно добавить что-то в ob и показать это с помощью ob_end_flush?

Как это работает в этом коде?

В переменной $status является:

array (size=1)
  0 => 
    array (size=7)
      'name' => string 'default output handler' (length=22)
      'type' => int 0
      'flags' => int 112
      'level' => int 0
      'chunk_size' => int 4096
      'buffer_size' => int 8192
      'buffer_used' => int 8

Но я не могу найти "обработчик вывода по умолчанию" во всем пакете из http-foundation. Зачем?

0 ответов

Другие вопросы по тегам