quinta-feira, 19 de agosto de 2010

Criando Vergonha na Cara e Usando o Debug do PHP

A preguiça sempre foi minha inimiga, mas já era tempo de dar um basta nessa lenga-lenga, criar vergonha na cara e começar a usar a porcaria dum debugger pra PHP. Chega de usar var_dump e print_r.

Esse post pode chegar ao nível do ridículo, a ponto deu pensar, porque eu vou postar isso. Mas eu acho que vale como marco, como referencia do dia em que mais um pequeno passo para se construir uma imagem decente do php foi dada.

Vamos la:

Server Side

Baixar e instalar o Zend Server CE (problemas com o link ou não usa windows?). A instalação é for dummies: next, next, finish.

Client Side

Baixar e instalar o Eclipse PDT (note que nesse link vc também encontra o ZSCE e o Xdebug avulsos)

Rodar o Debug

Debug Icon

Sim, esse passo é complicao, cuidado para não se confundir. Abra o seu script e clique no icone de debug (dica: é o da imagem acima).

Ok, agora piadas a parte, eu sei que isso foi ridículo. Claro que isso pode ser feito bem mais complexo, caso você queira instalar o xdebug no seu xamp preferido ou com a sua IDE favorita. A questão é que não doi nada começar a usar. Eu prometo que as coisas começam a ficar bem mais divertidas quando o seu debug precisa acontecer num script que depende de login para rodar. E se você utiliza o Zend Studio, pode ficar tranquilo, ainda da pra usar o profiler pra medir o desempenho totalmente detalhado do seu script, método a método. (dizem... ainda não testei, mas estou ansioso)

De fato outras coisas tem que acontecer para começar a fazer um bom uso do debbuger. Isso se dá pois o debug ocorre para uma requisição por vez, e não uma sequência de acessos. Então ou se usar testUnit para debug ou se cria um login simulado para simular um usuário. A sugestão é implementação de test Units para rodar os testes (Zend Studio vem configurado assim, alias). Mas claro, nada de complicação se o seu site não depende de login por exemplo. Bom, eu detalho essas praticas mais pra frente em outro post.

Por enquanto é isso ae, e de agora em diante quando uso var_dump gera E_STRICT ;P

OBS.: A partir desse post os comentários são pelo Intense Debate. Se acharem muito ruim eu coloco o original de volta =D