Laravel Debugbar (Integra PHP Debug Bar)

Blog

Laravel Debugbar (Integra PHP Debug Bar)

Questo è un pacchetto da integrare Barra di debug PHP con Laravel. Include un ServiceProvider per registrare la barra di debug e collegarla all'output. Puoi pubblicare risorse e configurarle tramite Laravel. Avvia alcuni Collector per lavorare con Laravel e implementa un paio di DataCollector personalizzati, specifici per Laravel. È configurato per visualizzare i reindirizzamenti e le richieste Ajax (jQuery). (Mostrato in un menu a discesa) Leggi la documentazione per ulteriori opzioni di configurazione.



Schermata della barra di debug 3.3

Nota: utilizzare la DebugBar solo in fase di sviluppo. Può rallentare l'applicazione (perché deve raccogliere dati). Quindi, quando si verifica una lentezza, provare a disabilitare alcuni dei collettori.



Questo pacchetto include alcuni collezionisti personalizzati:

  • QueryCollector: mostra tutte le query, inclusi binding + timing
  • RouteCollector: mostra le informazioni sulla rotta corrente.
  • ViewCollector: mostra le viste attualmente caricate. (Facoltativamente: visualizzare i dati condivisi)
  • EventsCollector: Mostra tutti gli eventi
  • LaravelCollector: mostra la versione e l'ambiente di Laravel. (disabilitato per impostazione predefinita)
  • SymfonyRequestCollector: sostituisce RequestCollector con maggiori informazioni sulla richiesta/risposta
  • LogsCollector: mostra le ultime voci di registro dai registri di archiviazione. (disabilitato per impostazione predefinita)
  • FilesCollector: mostra i file inclusi/richiesti da PHP. (disabilitato per impostazione predefinita)
  • ConfigCollector: visualizza i valori dai file di configurazione. (disabilitato per impostazione predefinita)
  • CacheCollector: visualizza tutti gli eventi della cache. (disabilitato per impostazione predefinita)

Avvia i seguenti collezionisti per Laravel:



  • LogCollector: mostra tutti i messaggi di registro
  • SwiftMailCollector e SwiftLogCollector per la posta

E i collettori predefiniti:

stringa per galleggiare golang
  • PhpInfoCollector
  • MessaggiCollettore
  • TimeDataCollector (con avvio e tempistica dell'applicazione)
  • MemoryCollector
  • EccezioniCollector

Fornisce anche un'interfaccia Facade per una facile registrazione di messaggi, eccezioni e tempo

Installazione

Richiedi questo pacchetto con il compositore. Si consiglia di richiedere solo il pacchetto per lo sviluppo.

composer require barryvdh/laravel-debugbar --dev

Laravel utilizza il rilevamento automatico dei pacchetti, quindi non richiede l'aggiunta manuale di ServiceProvider.

La barra di debug sarà abilitata quando |_+_| è |_+_|.

fxnetworks,com/activate

Se usi una route catch-all/fallback, assicurati di caricare Debugbar ServiceProvider prima dei tuoi App ServiceProviders.

Laravel senza rilevamento automatico:

Se non utilizzi il rilevamento automatico, aggiungi ServiceProvider all'array dei provider in config/app.php

APP_DEBUG

Se vuoi usare la facciata per registrare i messaggi, aggiungi questo alle tue facciate in app.php:

true

Il profiler è abilitato per impostazione predefinita, se hai APP_DEBUG=true. Puoi sovrascriverlo nella configurazione (|_+_|) o impostando |_+_| nel tuo |_+_|. Vedi più opzioni in |_+_| Puoi anche impostare nella tua configurazione se vuoi includere/escludere anche i file del fornitore (FontAwesome, Highlight.js e jQuery). Se li usi già nel tuo sito, impostalo su false. Puoi anche visualizzare solo i fornitori js o css, impostandolo su 'js' o 'css'. (Highlight.js richiede sia css + js, quindi imposta su |_+_| per l'evidenziazione della sintassi)

Copia la configurazione del pacchetto nella configurazione locale con il comando di pubblicazione:
BarryvdhDebugbarServiceProvider::class,

lume:

Per Lumen, registra un provider diverso in |_+_|:

'Debugbar' => BarryvdhDebugbarFacade::class,

Per modificare la configurazione, copia il file nella cartella di configurazione e abilitalo:

c++ sistema pausa
debugbar.enabled

Utilizzo

Ora puoi aggiungere messaggi utilizzando Facade (se aggiunto), utilizzando i livelli PSR-3 (debug, info, avviso, avviso, errore, critico, avviso, emergenza):

DEBUGBAR_ENABLED

E tempi di avvio/arresto:

.env

Oppure registra le eccezioni:

come mettere pi in Python?
config/debugbar.php

Sono disponibili anche funzioni di supporto per le chiamate più comuni:

true

Se vuoi puoi aggiungere i tuoi DataCollectors, attraverso il Container o la Facade:

php artisan vendor:publish --provider='BarryvdhDebugbarServiceProvider'

Per impostazione predefinita, la barra di debug viene inserita appena prima di |_+_|. Se vuoi iniettare tu stesso la barra di debug, imposta l'opzione di configurazione 'inject' su false e usa tu stesso il renderer e segui http://phpdebugbar.com/docs/rendering.html

bootstrap/app.php

Nota: il mancato utilizzo dell'auto-inject disabiliterà le informazioni sulla richiesta, poiché vengono aggiunte dopo la risposta. Puoi aggiungere il datacollector default_request nella configurazione come alternativa.

Abilitazione/disabilitazione in fase di esecuzione

È possibile abilitare o disabilitare la barra di debug durante il runtime.

if (env('APP_DEBUG')) { $app->register(BarryvdhDebugbarLumenServiceProvider::class); }

NB. Una volta abilitati, i raccoglitori vengono aggiunti (e potrebbero produrre un sovraccarico aggiuntivo), quindi se si desidera utilizzare la barra di debug in produzione, disabilitare nella configurazione e abilitare solo quando necessario.

Integrazione del ramoscello

Laravel Debugbar viene fornito con due estensioni Twig. Questi sono testati con rcrowe/TwigBridge 0.6.x

iojs vs nodo js

Aggiungi le seguenti estensioni al tuo TwigBridge config/extensions.php (o registra le estensioni manualmente)

$app->configure('debugbar');

L'estensione Dump sostituirà il funzione di scarico per emettere variabili utilizzando DataFormatter. L'estensione Debug aggiunge un |_+_| funzione che passa le variabili al Message Collector, invece di mostrarlo direttamente nel modello. Scarica gli argomenti, o quando è vuoto; tutte le variabili di contesto.

Debugbar::info($object); Debugbar::error('Error!'); Debugbar::warning('Watch out…'); Debugbar::addMessage('Another message', 'mylabel');

L'estensione Cronometro aggiunge a tag cronometro simile a quello di Symfony/Silex Twigbridge.

Debugbar::startMeasure('render','Time for rendering'); Debugbar::stopMeasure('render'); Debugbar::addMeasure('now', LARAVEL_START, microtime(true)); Debugbar::measure('My long operation', function() { // Do something… });

Scarica i dettagli:

Autore: barryvdh
GitHub: https://github.com/barryvdh/laravel-debugbar

#laravel #php