Biblioteca para depuração de páginas PHP de forma simples e rápida em ambiente HTML. Um dos principais motivos para criação deste projeto é a simplificação no momento da depuração, sem perder a possibilidade da personalização.
$a = "Hello Word";
$b = null;
$c = True;
$d = 42;
$e = 3.14159265359;
$f = [];
$g = ["orange", "banana", "apple"];
$h = [
"name" => [
"first" => "Gustavo",
"middle" => ["de", "Sousa"],
"last" => "Correa"
],
"age" => 18,
"from" => "Brazil"
];
$i = new Person("Maria", 19);
fdbg($a, $b, $c, $d, $e, $f, $g, $h, $i);
Assim, com esse repositório, o processo de depuração tornou-se mais fácil, para depurar seu código basta uma chamada da função fdbg
para criar um painel informativo sobre a variável.
Além disso, com as palavras chaves, explicadas adiante, a depuração do seu ambiente se torna mais rápida e produtiva.
E, ainda, outro ponto fundamental do projeto é a personalização, para tal funções como FastDbgPHP::setProjectName
e FastDbgPHP::setStyles
foram criadas.
Para usar a esta biblioteca no seu projeto é necessário apenas a importação e a definição do estado do projeto através da função FastDbgPHP::setDevelopmentMode
, ou seja, no caso de estar no modo de desenvolvimento defina True
, se não, False
. Depois isso, toda configuração basica ja foi realizada, basta depurar as variáveis de interesse, não precisa economizar, coloque quantas quiser, é sempre bom saber o que o código está fazendo.
// Importando a biblioteca FastDbgPHP
require_once "../fastDbgPHP.class.php";
// Defina o modo que da página
// no caso de estar no modo de desenvolvimento defina True, se não, False
FastDbgPHP::setDevelopmentMode($isDev);
// Por fim, simplesmente depure suas variáveis
$value = rand(1, 1000);
$other_value = $value - 10;
fdbg($value, $other_value);
Não recomendamos deixar códigos de depuração, no caso fdbg
, em produção, porém, para maior segurança do seu código, apenas quando seu projeto estiver no modo de desenvolvimento essa função mostrará resultados na página.
Outra função importante são as palavras chave, explicadas a seguir.
As palavras chaves ##GET
, ##POST
, ##SERVER
, ##FILES
, ##COOKIE
, ##SESSION
, ##REQUEST
e ##ENV
mostram as variáveis globais $_GET
, $_POST
, $_SERVER
, $_FILES
, $_COOKIE
, $_SESSION
, $_REQUEST
e $_ENV
, respectivamente, simplificando a depuração e facilitando sua leitura no código.
fdbg('##GET', '##POST', '##SERVER', '##FILES', '##COOKIE', '##SESSION', '##REQUEST', '##ENV');
Para maior agilidade para mostrar os dados GET e POST da página html, pode-se simplesmente chamar a função fdbg
, porém sem nenhum parâmetro, como mostrado a seguir:
// para maior velocidade, use:
fdbg();
// em vez de:
fdbg('##GET', '##POST');
// as duas formas mostram a mesma coisa
Para verificar o tempo levado em certo código, ou qualquer outra contagem de tempo, use a palavra chave ##TIME
, que mostra o tempo entre o início da página e o momento da chamada do fdbg
. Para que essa palavra chave funcione, é essencial que seja definido o tempo em unix do início da página usando a função FastDbgPHP::setInicialTime
, como mostrado no exemplo a seguir:
// Pegue o tempo inicial de referencia do código, sempre deve ser aferido no começo da página
$inicial_time = microtime(true);
// Definindo o tempo inicial de referência
FastDbgPHP::setInicialTime($inicial_time);
/* O corpo do seu código */
// Por fim, mostra o tempo usado pelo código
fdbg('##TIME');
Mostra o histórico das linhas de código até a chamada da função fdbg
, na forma de uma lista. Por exemplo, temos:
function factorial(int $n) {
if ($n == 0 or $n == 1) {
fdbg('##TRACE');
return 1;
}
return $n * factorial($n-1);
}
fdbg(factorial(10));
Ao terminar a apresentação da função fdbg
, a função finalizara a página. Por exemplo:
$zero = 0;
fdbg($zero, `##EXIT`);
// nada a partir daqui será executado
echo 'Hello world';
echo $zero / $zero;