Verschillende manieren van debuggen in Laravel

Ik denk dat ik niet overdrijf als ik zeg dat het opsporen van fouten soms net zoveel als misschien niet meer tijd in beslag neemt dan werken aan het project zelf. Laten we eens kijken naar enkele veelgebruikte technieken voor het opstoren van fouten in Laravel.

Dump and die

De dump and die functie is een van de meest gebruikte functies binnen Laravel (deze is boven het var-dump pakket van Symfony gebouwd). Als je deze functie gebruikt, wordt de gegeven parameter weergegeven op het scherm en wordt ook de code afgebroken. Zo kan je deze functie als breakpoint gebruiken in je applicatie, terwijl je een variable inspecteert.

dd($variable);

Tip: je kan collections erg makkelijk dumpen: collection(…)->dd().

Tinker console

Een andere geweldige tool is tinker, deze zit standaard in Laravel gebakken.

Een andere geweldige tool is de tinker, die standaard bij Laravel wordt geleverd. Als we maar één ding hoeven te testen - zoals een model of een kleine service, misschien een helper - is het leuk om gewoon de php artisan tinker-opdracht uit te voeren en de code in de console uit te voeren. We zien de resultaten sneller en hoeven onze echte code niet te wijzigen.

Loggen naar een logfile

Loggen kan extreem handig zijn. Als je bijvoorbeeld wil weten wat er gebeurt in een AJAX call, dan werkt namelijk de dump and die functie niet goed. Gelukkig kunnen we doormiddel van logging ook logs naar een logfile wegschrijven.

De logger binnen Laravel biedt de 8 verschillende niveaus gespecificeerd volgens: RFC 5424

use Illuminate\Support\Facades\Log;

Log::emergency($message);
Log::alert($message);
Log::critical($message);
Log::error($message);
Log::warning($message);
Log::notice($message);
Log::info($message);
Log::debug($message);

Laravel debugbar

De Laravel debugbar is geen ingebakken functie binnen Laravel. De debugbar is een pakket dat je kan installeren binnen Laravel om snel en makkelijk (de naam zegt het al) te kunnen debuggen. Zo kun je bijvoorbeeld zien, hoeveel en welke queries er worden afgeschoten. De debugbar is erg handig als je werkt aan een grote applicatie.

In het artikel Debug je Laravel applicatie met de debugbar lees je meer over de installatie en het gebruik van de debugbar.

Laravel telescope

*Laten we een grotere springen. Laravel Telescope is een first-party pakket waarmee u uw toepassingsactiviteiten kunt volgen. Het kan buitengewoon handig zijn, vooral als uw toepassing enkele functies bevat die niet gemakkelijk op te sporen zijn met eenvoudigere oplossingen zoals hierboven. Dit pakket is gemaakt voor een complete applicatiebewaking, dus we kunnen ernaar kijken alsof het een uitgebreide debugbar is.

De telescoop heeft een eigen oppervlak, dus u hoeft niet eens een extra integratiestap aan te passen of te maken. Laracasts heeft een leuke introductievideo over Telescope, het wordt sterk aangeraden om het eens te proberen.*

Laravel Telescope

blijf op de hoogte

Wil jij als eerste op de hoogte blijven van het aller laatste nieuws en insights? Schrijf je dan in voor onze nieuwsbrief.

Jeroen SpeePim MoolenaarCees van Pelt
Jeroen, Pim en Cees + 50 anderen

Vertrouwen al op de ervaring en doelgerichte aanpak van Not False.