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 adump($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ñadiruse Dumpable; para tener disponibles dump() / dd() como métodos de instancia.
Depurar en medio de una cadena
Comodump() devuelve static (en la práctica, $this), se puede usar con seguridad en el medio de un method chain.
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ñadesDumpable a tus Value Objects, DTOs o Builders, tus usuarios podrán inspeccionar el estado sin necesidad de herramientas adicionales.
Pasar argumentos adicionales
ComoDumpable internamente llama a dump($this, ...$args) / dd($this, ...$args), puedes imprimir información contextual junto al objeto.
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.