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');