Mateus Souza

Conversas sobre desenvolvimento web

Categorias »

Debug, a Função Que Faltava no Core do PHP

9

Quem nunca fez um debug em PHP? Debugar objetos, arrays, strings ou seja lá o que for é sempre uma tarefa repetitiva, você sempre faz a mesma coisa, até o que não precisaria ser feito. Esta dúvidando? Então preste atenção quando for debugar seus códigos em PHP, ASP, Python…

Agora eu apresento a vocês a função DEBUG; uma função, uma linha e mais tempo pra tomar café e brincar com seu cachorrinho:

/**
 * Debug simples para objetos, arrays, strings ou qualquer tipo de dados
 * Adiciona tags HTML para melhor visualização
 * @param mixed $elem - elemento a ser debugado
 */
function debug($elem){
	echo '<pre>';
	var_dump ($elem);
	echo '</pre>';
}

E como ninguém é de ferro, um exemplo:

debug($objetoX);
debug($minhaArray);
...

Fica ai o Snippet em PHP pra quem já cansou de ficar dando echo sempre ;).

9 Comentários

  1. Emerson Vinicius disse:
    30 de julho de 2010 às 10:59

    Uma funcão que uso para debug, inclusive é um snippets do meu Textmate e vim

    é uma que o cake e o spaghettiphp usa


    function pr($data){
    echo '<pre>'.print_r($data, true).'</pre>';
    }

    me parece ser mais limpa que usar var_dump,

    Mais no geral não é legal fazer debug colocando esse codigo para aparecer na tela, saca, talvez usar testes o uma ide que tenha a capacidade de debugar é sempre a melhor opção

    1. Mateus Souza disse:
      30 de julho de 2010 às 11:04

      Massa!!!, eu não gosto de print_r() justamente porque é mais limpo, acho melhor var_dump() pois é mais completo ai eu tenho um controle melhor do que é cada coisa e tal…

      Pra um teste simples usar uma IDE acaba se tornando até inconveniente, eu pelo menos acho isso, mais uma IDE é o certo :)

  2. Emerson Vinicius disse:
    30 de julho de 2010 às 11:01

    Outra coisa utilize aspas simples se o php não tiver que analizar a string

    1. Mateus Souza disse:
      30 de julho de 2010 às 11:10

      Pronto, arrumei o erro do código e tirei o que estava aqui, é o mesmo… :)

  3. Emerson Vinicius disse:
    3 de agosto de 2010 às 18:12

    Vlw,
    então, não uso IDE estou atualmente utilizando o VIM, antes estava usando o Textmate, estou em fazer algo tipo o ruby-debug para debugar codiga, estou trabalhando em um sistema que tem algo muito interessante, tem uma tela debug, vou ver se implemento algo

  4. Joel Backschat disse:
    31 de agosto de 2010 às 08:51

    Realmente o código fica mais legível. Melhor colocar um debug do que um echo para testar hehe

  5. André D. Molin disse:
    31 de agosto de 2010 às 09:04

    var_dump() teoricamente aceita um número infinito de parâmetros a serem “dump-ados“, portanto eu fiz essa função aqui:

    function debug() {
    echo '';
    call_user_func_array( 'var_dump', func_get_args() );
    echo '';
    }

    Da mesma maneira que você chama var_dump( $var1, $var2, $var3, … ), agora você também pode chamar debug( $var1, $var2, $var3, … ).

    :)

    1. André D. Molin disse:
      31 de agosto de 2010 às 09:11

      Esqueci de passar alguns caracteres para a sua entidade html, então não saiu correto. Postei no pastebin pra vcs, tuma: http://pastebin.com/pE3TWW70

      xD

    2. Mateus Souza disse:
      8 de setembro de 2010 às 20:48

      Boa André, por essa nem eu esperava, hehe. Grande sacada mesmo, vlw :)

Faça um Comentário

Todas as Categorias