Laravel Debugbar: je applicatie debuggen in Laravel 5

Laravel Debugbar: je applicatie debuggen in Laravel 5

De debug-toolbar van Laravel is in de eerste plaats een package van Barry vd. Heuvel waarmee je je applicatie tijdens de ontwikkeling snel en makkelijk in de gaten houdt. Ze is eenvoudig te installeren en hoort bij de packages die je moet kennen.

Het package installeren

De debugbar van Laravel installeren is vrij simpel: we beginnen met composer en draaien het commando composer require om het package binnen te halen.

bash
composer require barryvdh/laravel-debugbar

Open daarna het bestand config/app.php en voeg in de array met Providers dit toe:

php
Barryvdh\Debugbar\ServiceProvider::class,

Vervolgens zetten we de alias in de array met Facades:

php
'Debugbar' => Barryvdh\Debugbar\Facade::class,

En vergeet tot slot dit commando niet:

php
php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"

Klaar: de debugbar van Laravel staat geïnstalleerd, en zolang je applicatie in debugmodus draait verschijnt de balk en toont ze interessante statistieken over de pagina die je bekijkt.

De verschillende opties ontdekken

Zo ziet de befaamde toolbar eruit:

laravel-debugbar-01.jpg

Message

Messages is de sectie waarin je berichten of tests toont die je in een controller, in models … hebt gezet.

php
Debugbar::info("Message info !");
Debugbar::error('Message erreur!');
Debugbar::warning('Attention !');
Debugbar::addMessage('Mon Message', 'Mon Label');

De berichten kennen de PSR-3-niveaus (Emergency, Alert, Critical, Error, Warning, Notice, Info, Debug).

Timeline

debug-laravel-02.jpg

De Timeline is handig om code recht te zetten die de performance van je applicatie afremt. Een paar voorbeelden:

php
Debugbar::startMeasure('render','Temps du rendu');
Debugbar::stopMeasure('render');

Debugbar::addMeasure('Lancement Laravel', LARAVEL_START, microtime(true));
Debugbar::measure('Total Utilisateurs', function() {
    $user = App\User::all();
});

Exceptions

Het volgende tabblad registreert de exceptions. Je kunt exceptions loggen die daarna in de debugbalk verschijnen:

debug-laravel-3.jpg

php
try {
  throw new Exception('test');
} catch (Exception $e) {
  Debugbar::addException($e);
}

Views

debug-laravel-07.jpg

De views tonen je alle parent- en childtemplates met alle doorgegeven parameters. Met dit tabblad weet je zeker dat je precies de data doorstuurt die je nodig hebt:

php
return view('welcome')->with('titre', 'Mon Titre')->with('message', 'Mon Message');

Route

debug-laravel-05.jpg

Veel valt er niet over te zeggen, het spreekt voor zich. Route verwijst naar alle informatie over je route: de controller, de gebruikte uri, de prefix, de namespace enzovoort.

Query

debug-laravel-06.jpg

Queries zijn een van de belangrijkste onderdelen van een applicatie, en in dit tabblad vind je de informatie over de queries die je naar je databaseserver stuurt. Slecht geoptimaliseerde of overbodige queries maken het laden van je pagina’s flink langer en hebben een negatieve impact op je gebruikers.

Mail and Request

Deze twee onderdelen bevatten alles wat je moet weten over de uitgaande e-mails en de requests.

···

LaravelPackages

Damien Flandrin Webdeveloper sinds 2010, maker van Gekkode en Email Impact. Elk artikel wordt vóór publicatie getest op een echt project. Contact
Nieuwsbrief

Nieuwe tests, tutorials en projecten, per e-mail.

Reproduceerbare tests, geversioneerde code, gedateerde resultaten. Nooit spam.