GithubHelp home page GithubHelp logo

fast-dbg-php's Introduction

Fast-Dbg-PHP

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);

image

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.

Utilização

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.

Palavras Chaves

Variaveis Globais: ##GET, ##POST, ##SERVER, ##FILES, ##COOKIE, ##SESSION, ##REQUEST e ##ENV

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

Controle de tempo: ##TIME

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');

##TRACE

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));

##EXIT

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;

fast-dbg-php's People

Contributors

lepampim avatar mocno avatar

Stargazers

Josué Cintra avatar Délcio Capolo avatar  avatar  avatar

Watchers

 avatar

fast-dbg-php's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.