Debug, a Função Que Faltava no Core do PHP
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
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
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 :)
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
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… :)
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
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
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, … ).
:)
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
Mateus Souza disse:
8 de setembro de 2010 às 20:48
Boa André, por essa nem eu esperava, hehe. Grande sacada mesmo, vlw :)