Dumper

Todo desenvolvedor de depuração é um bom amigo com a função var_dump, que lista em detalhes todo o conteúdo de qualquer variável. Infelizmente, sua saída é sem formatação HTML e produz o dump em uma única linha de código HTML, para não mencionar a fuga do contexto. É necessário substituir o var_dump por uma função mais prática. Isso é exatamente o que é o dump().

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

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

gera a produção:

Você pode mudar o tema padrão da luz para a escuridão:

Debugger::$dumpTheme = 'dark';

Você também pode alterar a profundidade de nidificação por Debugger::$maxDepth e exibir o comprimento das cordas por Debugger::$maxLength. Naturalmente, valores mais baixos aceleram a renderização de Tracy.

Debugger::$maxDepth = 2; // default: 3
Debugger::$maxLength = 50; // default: 150

A função dump() pode exibir outras informações úteis. Tracy\Dumper::LOCATION_SOURCE adiciona uma dica de ferramenta com caminho para o arquivo, onde a função foi chamada. Tracy\Dumper::LOCATION_LINK adiciona um link para o arquivo. Tracy\Dumper::LOCATION_CLASS adiciona uma dica de ferramenta para cada objeto despejado contendo caminho para o arquivo, no qual a classe do objeto é definida. Todas estas constantes podem ser definidas na variável Debugger::$showLocation antes de chamar o dump(). Você pode definir vários valores ao mesmo tempo utilizando o operador |.

Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // Mostra o caminho para onde a lixeira() foi chamada
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Mostra ambos os caminhos para as classes e link para onde a lixeira() foi chamada
Debugger::$showLocation = false; // Esconde informações adicionais de localização
Debugger::$showLocation = true; // Mostra todas as informações adicionais de localização

Uma alternativa muito útil para dump() é dumpe() (ou seja, dump and exit) e bdump(). Isto nos permite despejar variáveis em Tracy Bar. Isto é útil, porque as lixeiras não atrapalham a saída e também podemos adicionar um título à lixeira.

bdump([2, 4, 6, 8], 'even numbers up to ten');
bdump([1, 3, 5, 7, 9], 'odd numbers up to ten');