PHP Debug
Existem algumas funções no PHP que ajudam muito a gente na hora de depurar um programa. Precisei usar duas delas para poder depurar um programa baseado em classes PHP que geravam um número muito grande de arrays.
A primeira função é o
var_dump, que fornece informações detalhadas sobre uma variável. A outra é o
print_r que exibe as informações de forma mais amigável.
Veja no exemplo a seguir como usar estas duas funções. Construí este exemplo com uma estrutura composta por duas classes, sendo que a segunda herda a primeira.
<?php
class base
{
var $tag;
function base()
{
$this->tag = 0;
}
function setTag($intTag)
{
$this->tag = intval($intTag);
}
}
class Custom_base extends base
{
var $collection_tag;
function Custom_base()
{
for($i=1;$i<=10;$i++){
$this->collection_tag[] = new base();
}
for($i=0;$i<count($this->collection_tag);$i++){
$this->collection_tag[$i]->setTag(rand(1,100));
}
}
}
$tagIterator = new Custom_base();
?>
<html>
<body>
<h1>var_dump</h1>
<pre style="background-color:rgb(220,220,220)">
Informações de uma classe
<?
var_dump($tagIterator);
?>
Informações de um array
<?
var_dump($tagIterator->collection_tag);
?>
Informações de uma variável
<?
var_dump($tagIterator->collection_tag[0]);
?>
Informações do servidor
<?
var_dump($_SERVER);
?>
</pre>
<h1>print_r</h1>
<pre style="background-color:rgb(220,220,220)">
Informações de uma classe
<?
print_r($tagIterator);
?>
Informações de um array
<?
print_r($tagIterator->collection_tag);
?>
Informações de uma variável
<?
print_r($tagIterator->collection_tag[0]);
?>
Informações do servidor
<?
print_r($_SERVER);
?>
</pre>
</body>
</html>
Outras dicas deste autor
Mortal Kombat para Linux
Maximizando o uso da lixeira
Personalizando o "look" do seu Linux
Efetuando debug de JavaScript no Mozilla
YUM :: Mais recursos e mais servidores
Leitura recomendada
Documentação do CodeIgniter em português
Enviar aspas em PHP de maneira menos suja
Framework PHP
Váriaveis globais no PHP
Funções com nomes variáveis em PHP, isso existe sim!
Comentários
Nenhum comentário foi encontrado.