Laravel Debugbar: must-have per i progetti Laravel

Francesco Malizia nov 11, 2019

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

Barryvdh\Debugbar\ServiceProvider::class,

'Debugbar' => Barryvdh\Debugbar\Facade::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.