Inspecionando variáveis PHP com var_export
Até pouco tempo minha única opção para imprimir o conteúdo de
uma variável PHP era a função var_dump, que imprime o conteúdo
de uma variável com uma saída bastante legível. O uso dessa função,
porém, é bastante limitado uma vez que ela não retorna nenhum valor,
simplesmente imprime o valor da variável passada como parâmetro.
Imagine-se agora tentando encontrar aquele bug em uma aplicação Ajax. Você
não pode utilizar var_dump para isso, pois essa saída não chegará até
o lado do cliente. Ou você pode estar adotando uma prática de desenvolvimento
onde tudo que você “loga” é escrito em um arquivo que você inspeciona
continuamente com tail -f meu_arquivo_de_log.txt.
Para esse tipo de situações utilize var_export. O primeiro
parâmetro da função é a variável que você deseja inspecionar. Por padrão, se o
segundo parâmetro não for definido o conteúdo da variável será impresso, como
acontece com var_dump. Mas se definirmos o segundo parâmetro como true, então
o resultado dessa inspeção é retornado, e não impresso. Podemos então direcioná-lo
para um arquivo de log, e então resolver problemas em aplicações Ajax mais facilmente.
O seguinte programa:
$numbers = array(1,2,3);
$tmp = var_export($numbers, true);
echo $tmp;
Resultará em:
array (
0 => 1,
1 => 2,
2 => 3,
)
Outra diferença fundamental entre var_dump e var_export é que a segunda retorna
código executável. Se você irá tirar proveito disso já é outra história.

March 22nd, 2008 às 8:07 am
Save Caio,
Fica aqui a dica pra quem utiliza o vardump, o uso da extensão http://xdebug.org, ela melhora em muito a saída do vardump, destacando com cores os diferentes tipos de dados dentro da variável, limitando o número de interações (quando a variável for um array) dentre outras opções bem legais.