Como usar o Profiler, ferramenta de debug nativa do CodeIgniter

Se você é desenvolvedor web então com certeza conhece as ferramentas de debug existentes nos navegadores.

No Google Chrome se você apertar F12, CTRL+SHIF+I ou botão direito em cima de algum elemento e clicar em Inspecionar Elemento, você terá acesso à ferramente de debug do navegador, que lhe permite fazer várias análises. Desde alterar o CSS, código HTML, brincar com o JavaScript do site, medir tempo de carregamento, etc, além de muitas outras coisas.

No Firefox também existe tal ferramenta igualmente útil.

Porém, como são ferramentas que rodam do lado do cliente, ou seja, no navegador, você não consegue debugar com tanta eficiência assim seu código. Por exemplo: a partir destas ferramentas você não consegue visualizar uma query recém executada no seu código.

Para contornar este problema, o CodeIgniter nos apresenta uma ferramenta nativa de debug, chamada Profiler.

Ela tem vários usos, como por exemplo: simples testes que envolvem tempo de carregamento da página, queries que você rodou, checar o conteúdo do $_POST etc.

Para habilitar esta ferramenta é bem simples. Dentro de qualquer controller, acrescente a seguinte linha:

$this->output->enable_profiler(TRUE);

Se quiser desabilitar, basta mudar o parâmetro TRUE para FALSE, assim:

$this->output->enable_profiler(FALSE);

O legal é que você não precisa carregar nenhuma biblioteca previamente para usar esta ferramenta, pois ela faz parte da biblioteca Output do CodeIgniter que é carregada por padrão.

Feito isto, quando você chamar o controller respectivo, você terá na parte de baixo da sua view uma tabela colorida com uma série de informações que podem lhe ajudar a encontrar algum problema no seu código.

Veja o print abaixo, clique para ficar maior:

print_profiler_ci

 

Utilizei o Mini-crud que fiz neste post para o exemplo.

No controller Cadastro.php coloquei a linha que habilita o profiler imediatamente antes da linha que carrega a view que informa que os dados foram gravados com sucesso.

Assim, eu consigo capturar tudo o que foi postado na página.

Repare que o profiler mostra o tempo de carregamento da página, qual o endereço, qual o método e classe chamados, e o principal, a query executada, inclusive com o conteúdo de cada campo.

Assim fica fácil descobrir se todos os valores estão sendo postados a partir do seu formulário para ter certeza que eles estão chegando no seu método.

Se você quiser ver eu explicando com mais detalhes como que usa o profiler, veja o vídeo que fiz exatamente sobre este assunto.

Clique na imagem abaixo para ir direto pro vídeo, e não se esqueça de se inscrever no canal em seguida.

 

vejanoyoutube

 

 

Abraços e até o próximo post.

Fábio

 

 

 

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.