Skip to main content

Qu’est-ce que le trait Dumpable

Illuminate\Support\Traits\Dumpable est un petit trait qui ajoute dump() et dd() à n’importe quelle classe. Introduit dans Laravel 10, il est largement utilisé au sein du cœur de Laravel (Collection, Eloquent Builder, Request, etc.) pour uniformiser l’expérience de débogage. L’objectif est simple : inspecter un objet à la manière de var_dump et, si besoin, arrêter le traitement sur place.

Vérifier l’implémentation

L’implémentation est très simple : elle se contente d’appeler dump($this, ...$args) et dd($this, ...$args).
L’implémentation Laravel 13 se trouve dans src/Illuminate/Support/Traits/Dumpable.php. Les signatures réelles expriment @return $this et @return never en PHPDoc.

Utilisation dans votre propre classe

En ajoutant simplement use Dumpable;, vous obtenez dump() / dd() comme méthodes d’instance.

Insérer un debug au milieu d’une chaîne

Comme dump() retourne static (en pratique $this), vous pouvez l’utiliser sans risque au milieu d’une chaîne de méthodes.
En remplaçant par dd(), le traitement s’arrête à ce point : pratique lorsque vous voulez inspecter l’état avant un traitement lourd qui suit.

Utilisation dans le développement de packages

Inclure Dumpable dans vos Value Objects, DTO ou Builders permet à vos utilisateurs d’inspecter l’état sans outil supplémentaire.
1

Ajouter à un Value Object / DTO

2

Vérifier au milieu d'un Fluent Builder

Passer des arguments supplémentaires

Comme Dumpable appelle en interne dump($this, ...$args) / dd($this, ...$args), vous pouvez afficher des informations de contexte en même temps.
Utile lorsque vous utilisez dump() à plusieurs endroits. Vous identifiez immédiatement d’où provient chaque sortie.

Traits associés

Helper tap() / Tappable

Découvrez le pattern qui insère un effet de bord tout en retournant la valeur.

Trait Conditionable

Apprenez à concevoir des chaînes conditionnelles.

Trait Macroable

Étendez des classes existantes avec vos propres méthodes.
Dernière modification le 13 juillet 2026