Dumping

Todo depurador é um bom amigo da função var_dump, que exibe detalhadamente o conteúdo de uma variável. Infelizmente, no ambiente HTML, a saída perde a formatação e se mistura em uma única linha, sem mencionar a sanitização do código HTML. Na prática, é essencial substituir var_dump por uma função mais inteligente. Essa função é dump().

$arr = [10, 20.2, true, null, 'hello'];

dump($arr);
// ou Debugger::dump($arr);

gera a saída:

Você pode alterar o tema claro padrão para escuro:

Debugger::$dumpTheme = 'dark';

Além disso, podemos alterar a profundidade de aninhamento usando Debugger::$maxDepth e o comprimento das descrições exibidas usando Debugger::$maxLength. Valores mais baixos naturalmente acelerarão o Tracy.

Debugger::$maxDepth = 2; // padrão: 3
Debugger::$maxLength = 50; // padrão: 150

A função dump() também pode exibir outras informações úteis. A constante Tracy\Dumper::LOCATION_SOURCE adiciona uma dica de ferramenta (tooltip) com o caminho para o local onde a função foi chamada. Tracy\Dumper::LOCATION_LINK nos fornece um link para esse local. Tracy\Dumper::LOCATION_CLASS exibe uma dica de ferramenta para cada objeto dumpado com o caminho para o arquivo onde sua classe está definida. As constantes são definidas na variável Debugger::$showLocation antes de chamar dump(). Se quisermos definir vários valores de uma vez, nós os combinamos usando o operador |.

Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // Define apenas a exibição sobre o local da chamada da função
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Define simultaneamente a exibição do link e o caminho para a classe
Debugger::$showLocation = false; // Desativa a exibição de informações adicionais
Debugger::$showLocation = true; // Ativa a exibição de todas as informações adicionais

Uma alternativa prática para dump() é dumpe() (dump & exit) e bdump(). Este último nos permite exibir o valor de uma variável no painel da Tracy Bar. Isso é muito útil, pois os dumps são separados do layout da página e também podemos adicionar um comentário a eles.

bdump([2, 4, 6, 8], 'números pares até dez');
bdump([1, 3, 5, 7, 9], 'números ímpares até dez');