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:
$matriz = array('a', 'b', 'c', 'd'); echo "<pre>"; print_r($matriz); echo "</pre>";
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:
<?php function pd($valor){ echo "<pre>"; print_r($valor); echo "</pre>"; die(); }
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:
$autoload['helper'] = array('funcoes');
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:
$array = array('banana','tijolo','monitor','unha','úvula'); pd($array);
Então, a tela irá imprimir isso:
Array ( [0] => banana [1] => tijolo [2] => monitor [3] => unha [4] => úvula )
Legal né?
É isso, o post de hoje foi rápido e indolor.
Abraços