En algunas situaciones, puede ser incomodo que las salidas de las funciones dd()
o dump()
interrumpan el contenido de nuestro sistema. Por eso, uno de los desarrolladores más conocidos en el mundo de Laravel, Marcel Pociot, creo Laravel Dump Server, un paquete que nos permite enviar las salidas de estas funciones a la terminal 😮.
Laravel Dump Server
Basado en el Dump Server de Symfony, Marcel Pociot desarrollo un paquete con la misma funcionalidad pero para Laravel. Laravel Dump Server nos permite enviar todas las salidas de las funciones dd()
y dump()
a la terminal en lugar de al navegador.
Esto nos brinda una gran comodidad a la hora de depurar nuestras aplicaciones web o APIs. Veamos como instalar y utilizar el paquete de Laravel Dump Server.
¿Cómo instalar Laravel Dump Server en nuestro proyecto?
Instalar este paquete es muy sencillo ya que se instala utilizando composer, como cualquier otro paquete de Laravel o PHP. Primero que ejecutamos el comando de Composer.
composer require --dev beyondcode/laravel-dump-server
Opcionalmente, podemos importar el archivo de configuración del paquete a nuestra carpeta config/
para editar la configuración a nuestro gusto. Para eso, ejecutamos el siguiente comando.
php artisan vendor:publish --provider=BeyondCode\\DumpServer\\DumpServerServiceProvider
El comando anterior creara el archivo debug-server.php
en nuestra carpeta config/
.
Y eso es todo! Ahora veamos como utilizar el paquete.
¿Cómo utilizar Laravel Dump Server?
¡Es muy fácil! Lo único que tenemos que hacer es ejecutar el siguiente comando artisan:
php artisan dump-server
Este comando quedara escuchando nuestra aplicación y, cuando tengamos una función dump()
o dd()
en nuestro código, su salida aparecerá en la terminal y nuestra pagina se ejecutará normalmente en el navegador.
Aquí hay una pequeña preview de como funciona el paquete. Esta imagen la tome del Github del paquete:
¡Aun hay más…!
¡Y esto no es todo! El paquete también nos permite enviar la salidas de dichas funciones a un archivo HTML, de la siguiente forma:
php artisan dump-server --format=html > dump.html
Por lo tanto, si te parecen incomodas las salidas por terminal pero no quieres que las funciones dump()
o dd()
alteren tus respuestas, puedes enviar las salidas a un archivo HTML para que lo veas con formato web.
Conclusión
Espero que les haya gustado el artículo y les dejo el enlace al Github del paquete por si quieren indagar por su código fuente: https://github.com/beyondcode/laravel-dump-server.
Nos vemos en el próximo Laravel Tip… 😉🤙
Por fin jajaj muy bueno seguro lo implementaré seguido GRACIAS !!!
Duda, yo generalmente utilizo dd(), cuando quiero ver que el objeto venga correcto o que cierta función devolviera el valor esperado antes de procesar el llamado a un API de algún tercero por ejemplo, esto es como incorrecto? es decir entiendo que si uso dump-server, si vería esta información pero se procesaria el llamado a (en este caso) el api del tercero, lo que si por alguna razón los pasos previos fallaron, me hubiese sido más ultil detener la ejecución antes de esta petición no?
Hola Juan, como estas? Depende. La petición a la api tiene algún costo? ya sea de demora de tiempo o dinero? Si no es así, no habría diferencias entre usar dump server o no. Podrías ejecutar tu script, ver si los datos están bien por la consola de dump server y que continúe el proceso a la llamada de la API.
O, continuar usando los dd() como venias haciendolo. Es cuestio de que te quede más comodo.
Saludos bro.
muchas gracias !!!
Excelente Tips… del LaraVel Dump Server.
Muchisimas gracias
Me va a ahorrar mucho tiempo
Muy interesante el tip, pero hay que tener cuidado que no se le quede a uno dentro del codigo y olvide borrar el dump o dd y probablemente exponga información muy sensible en producción