Dica rápida para debugar código

Quero mostrar pra vocês uma dica rápida pra debugar o código usando o CodeIgniter.

Talvez muitos já saibam e seja meio óbvio, mas tudo bem.

Algumas vezes precisamos imprimir na tela o conteúdo de algum array para analisar seus índices e ver o que tem dentro dele.

Você já sabe que não pode simplesmente dar um echo num array porque não vai funcionar devido aos tipos diferentes.

Então, você pode usar o var_dump, porém, ele traz muitas informações que às vezes não são necessárias.

Então, você pode usar o print_r, que traz exatamente as informações resumidas como precisamos.

Porém, para que o código fique legível no browser, precisamos dar uma formatada antes, assim:

Ao usar a tag pre, os dados ficam bonitinhos na tela.

Agora convenhamos, ficar digitando essas linhas a todo momento é um saco certo? Então porque não criamos um helper que fique disponível para toda a aplicação.

Por isso, vamos fazer assim. Crie um arquivo chamado funcoes_helper.php e salve-o na pasta: application/helpers

Dentro dele, coloque o seguinte código:

Dentro do arquivo criei uma simples função chamada pd() que significa print and die.

Se você quiser usar o var_dump, pode criar também uma função chamada dd(), dump and die.

Mas aqui sua imaginação é livre, basta criar o jeito que achar melhor.

Depois, abra este arquivo: application/config/autoload.php

Ache a linha onde os helpers são carregados e acrescente dentro do array o índice funcoes ficando assim:

Agora, toda vez que a aplicação for carregada as funções dentro do helper estarão disponíveis para serem usadas.

Feito isso, agora de qualquer lugar de sua aplicação você poderá chamar a função para analisar o conteúdo de um array, assim:

Então, a tela irá imprimir isso:

Legal né?

É isso, o post de hoje foi rápido e indolor.

Abraços

Fábio S. Reszko

Sou Programador PHP desde 2006 e eu acredito sinceramente que programar usando um Framework PHP é a solução para os problemas de códigos desorganizados, difíceis de entender e de dar manutenção no futuro. Se você também acredita nisto, então fique à vontade em explorar meu blog.

Você pode gostar...

  • Parabens Fabio!

    Fabio voce ja reparou que esses metodos de debug, como o que vc postou, soh funcionam em chamadas diretas ao codeigniter. Em chamadas via ajax simplesmente o codigo para e retorna uma mensagem que algo foi tentado enviar, e que “nao eh o esperado”!. tem alguma forma de desviar disso? isso eh? criar uma forma de exibicao que nao afete as respostas as requisicoes ajax? aguardo. abracos!

  • Marco

    Boa, uso isso também.

  • Gabriel Leite

    também da pra instalar o xdebug e só usar o var_dump que fica bonitinho na tela tmb! prefiro isso do que criar helpers

  • Muito bom!

  • Allisson Jorge

    Parabéns, por mais simples que seja, a proatividade e motivação por ajudar já o faz especial amigo, parabéns novamente !