Где находится 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. Зачем?