Skip to main content

Qué es el trait Dumpable

Illuminate\Support\Traits\Dumpable es un pequeño trait que añade dump() y dd() a cualquier clase. Se introdujo en Laravel 10 y se usa en Collection, Eloquent Builder, Request y muchas otras clases del core de Laravel para unificar la experiencia de depuración. Su propósito es sencillo: inspeccionar objetos con algo equivalente a var_dump y, si hace falta, detener la ejecución en ese punto.

Revisar la implementación

La implementación es muy sencilla: simplemente llama a dump($this, ...$args) y dd($this, ...$args).
La implementación en Laravel 13 está en src/Illuminate/Support/Traits/Dumpable.php. La firma real declara @return $this y @return never mediante PHPDoc.

Usarlo en tus propias clases

Basta con añadir use Dumpable; para tener disponibles dump() / dd() como métodos de instancia.

Depurar en medio de una cadena

Como dump() devuelve static (en la práctica, $this), se puede usar con seguridad en el medio de un method chain.
Si lo cambias por dd(), la ejecución se detiene en ese punto, lo cual es útil cuando quieres inspeccionar el estado antes de un procesamiento posterior pesado.

Uso en el desarrollo de paquetes

Si añades Dumpable a tus Value Objects, DTOs o Builders, tus usuarios podrán inspeccionar el estado sin necesidad de herramientas adicionales.
1

Añádelo a un Value Object / DTO

2

Inspecciona en medio de un Fluent Builder

Pasar argumentos adicionales

Como Dumpable internamente llama a dump($this, ...$args) / dd($this, ...$args), puedes imprimir información contextual junto al objeto.
Es muy útil cuando usas dump() en varios sitios: identificas rápidamente en qué punto se produjo cada salida.

Traits relacionados

Helper tap() / Tappable

Aprende el patrón que intercala efectos colaterales devolviendo el valor.

Trait Conditionable

Aprende cómo diseñar bifurcaciones condicionales manteniendo el encadenamiento.

Trait Macroable

Aprende cómo extender clases existentes para añadirles métodos propios.
Última modificación el 13 de julio de 2026