Vai al contenuto
  • Quante volte hai dovuto debuggare query, array o addirittura le temutissime chiamate AJAX?

    Quante volte per fare tutto questo hai messo die() ed echo sparsi per tutto il codice?

    Sono situazioni che tutti i programmatori hanno affrontato nel corso della loro carriera, tanto da spingere alcuni di loro a creare degli strumenti appositi come la Laravel Debugbar, estensione del collaudato pacchetto: PHP Debugbar.

    Per noi ormai si tratta di un must-have tanto da essere presente in tutti i nostri progetti Laravel, ma vediamo meglio come funziona.

    Come funziona Lavarel Debugbar

    Installarlo è semplicissimo, basta eseguire questa stringa da riga di comando all’interno del proprio progetto: composer require barryvdh/laravel-debugbar –dev

    Laravel dalla versione 5.5 usa l’auto-discover dei nuovi pacchetti, se usate una versione più vecchia, sarà necessario registrare il ServiceProvider e la Facade. Per farlo è sufficiente copiare queste due righe all’interno del file config/app.php

    BarryvdhDebugbarServiceProvider::class,

    ‘Debugbar’ => BarryvdhDebugbarFacade::class, (Questa servirà per utilizzare tutte le funzionalità del pacchetto)

    Per un controllo più completo è consigliato esportare anche il file di configurazione ed anche qui Laravel ha la soluzione già pronta:

    php artisan vendor:publish

    Questo comando esporterà il file di configurazione all’interno della cartella config.

    Una volta installato vedremo questo nuovo elemento in fondo alla pagina web

    (Nello screenshot è selezionato il tab delle query)

    Funzionalità Laravel Debugbar

    Debug chiamate AJAX

    Per vedere le chiamate AJAX è sufficiente cliccare sull’icona della cartella, in alto a destra (terza icona da destra), a questo punto si aprirà una modal con lo storico di tutte le richieste http.

    A questo punto per analizzare ciò che è avvenuto in una determinata richiesta è sufficiente cliccare su una URL e la Debugbar farà la sua magia.

    Facade

    In fase di installazione abbiamo registrato anche la Facade del pacchetto, vediamo come usarla:

    use Debugbar;

    Debugbar::info($object);

    Debugbar::error(‘Error!’);

    Debugbar::warning(‘Watch out…’);

    Debugbar::addMessage(‘Another message’, ‘mylabel’);

    I livelli di log sono quelli definiti dallo standard PSR-3 (debug, info, notice, warning, error, critical, alert, emergency)

    Catturare le eccezioni

    try{

        throw new Exception(‘eccezione’);

    }catch (Exception $e){

        Debugbar::addThrowable($e);

    }

    Debuggare array e variabili

    Debugbar::info( [1,2,3] );

    Abilita e disabilita runtime

    È possibile abilitare e disabilitare le funzionalità runtime:

    Debugbar::enable();

    Debugbar::disable();

    in produzione solitamente è disabilitato, però tramite un middleware è possibile abilitarlo, per esempio solo per le richieste provenienti da alcuni indirizzi IP:

    if( Request::ip() == ‘192.168.1.1’ ){

        Debugbar::enable();

    }

    Conclusioni

    Queste sono solo alcune delle funzionalità messe a disposizione dal pacchetto, per approfondire il funzionamento la cosa migliore è consultare la documentazione http://phpdebugbar.com/docs/ oppure installarlo e provarlo.

    Una volta provato, non potrete più farne a meno.