Que Saída é Armazenada em Buffer?
Os buffers de saída em nível de usuário do PHP armazenam toda a saída após serem iniciados, até que sejam desligados ou o script termine. A saída no contexto do buffer de saída no nível do usuário do PHP é tudo o que o PHP exibiria ou enviaria de volta ao navegador. Em termos práticos, a saída são dados de comprimento diferente de zero que são:
-
esteja fora das tags
<?php ?>
- seja exibido por construções de linguagem e funções cujo propósito explícito é mostrar variáveis fornecidas pelo usuário ou strings tais como echo, print, printf(), var_dump(), var_export() e vprintf()
- seja exibido por funções cujo propósito é coletar e mostrar dados/informações no script em execução ou no PHP tais como debug_print_backtrace(), phpcredits() e phpinfo(), ReflectionExtension::info()
- seja mostrado pelo PHP em uma exceção não capturada ou erro não gerenciado (sujeitos às configurações de display_errors e error_reporting)
-
seja qualquer coisa escrita em
php://output
Note: Os dados gravados diretamente em
stdout
ou passados para uma função SAPI com funcionalidade semelhante não serão capturados pelos buffers de saída no nível do usuário. Isso inclui escrever dados emstdout
com fwrite() ou enviar cabeçalhos usando header() ou setcookie().