Wat is de Dumpable-trait?
Illuminate\Support\Traits\Dumpable is een kleine trait die dump() en dd() toevoegt aan een willekeurige klasse. De trait is geïntroduceerd in Laravel 10 en wordt breed gebruikt om de debugervaring binnen de Laravel-core — Collection, Eloquent Builder, Request, enzovoort — te uniformeren.
Het doel is simpel: het object bekijken zoals bij var_dump, en waar nodig de verwerking ter plekke stoppen.
De implementatie bekijken
De implementatie is heel eenvoudig: er wordt alleendump($this, ...$args) en dd($this, ...$args) aangeroepen.
De implementatie in Laravel 13 staat in
src/Illuminate/Support/Traits/Dumpable.php. De werkelijke signaturen drukken @return $this en @return never uit via PHPDoc.Gebruiken in je eigen klasse
Voeg alleenuse Dumpable; toe en je kunt dump() / dd() als instantiemethodes gebruiken.
Debuggen midden in een chain
dump() geeft static terug (in de implementatie $this), dus je kunt het veilig midden in een method chain gebruiken.
dd(), dan stopt de verwerking op dat punt — handig wanneer je de toestand wilt bekijken vóór zware vervolgverwerking.
Toepassing bij packageontwikkeling
Voeg jeDumpable toe aan je eigen value objects, DTO’s en builders, dan kunnen gebruikers zonder extra tooling de toestand inspecteren.
1
Toevoegen aan een value object / DTO
2
Tussentijds inspecteren in een fluent builder
Extra argumenten doorgeven
OmdatDumpable intern dump($this, ...$args) / dd($this, ...$args) aanroept, kun je contextinformatie mee laten uitvoeren.
dump() gebruikt: je ziet direct op welk punt de uitvoer plaatsvond.
Gerelateerde traits
tap()-helper / Tappable
Leer het patroon waarbij je bijeffecten toevoegt en toch de waarde teruggeeft.
Conditionable-trait
Leer een ontwerp waarbij je een chain conditioneel vertakt.
Macroable-trait
Leer hoe je bestaande klassen uitbreidt met eigen methodes.