Skip to main content

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 alleen dump($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 alleen use 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.
Vervang je het door dd(), dan stopt de verwerking op dat punt — handig wanneer je de toestand wilt bekijken vóór zware vervolgverwerking.

Toepassing bij packageontwikkeling

Voeg je Dumpable 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

Omdat Dumpable intern dump($this, ...$args) / dd($this, ...$args) aanroept, kun je contextinformatie mee laten uitvoeren.
Dat is nuttig wanneer je op meerdere plekken 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.
Laatst gewijzigd op 6 september 2026