🪶 Depuración con Telescope y Debugbar

🪶 Depuración con Telescope y Debugbar

Herramientas esenciales para el diagnóstico de tu App

Saber cómo diagnosticar y resolver problemas de forma eficiente es una habilidad fundamental. Laravel cuenta con dos herramientas excepcionales que transforman la depuración de una tarea tediosa a un proceso intuitivo: **Laravel Debugbar** (un visor en tiempo real) y **Laravel Telescope** (un asistente de depuración persistente y visual).

🛠️ Laravel Debugbar (Barryvdh)

El Debugbar es un paquete de terceros (del desarrollador Barryvdh) que añade una barra flotante en la parte inferior de tu navegador. Es ideal para la depuración en tiempo real y proporciona una visión instantánea de los datos clave de la solicitud actual.

**Instalación (solo para el entorno de desarrollo):**

Línea de comandos
composer require barryvdh/laravel-debugbar --dev

**Lo que te muestra el Debugbar:**

  • **Queries:** Todas las consultas a la base de datos ejecutadas en la solicitud, incluyendo su tiempo de ejecución.
  • **Views:** Las variables pasadas a las vistas y las plantillas que se están renderizando.
  • **Routes:** Información sobre la ruta que ha manejado la solicitud.
  • **Time:** El tiempo total de ejecución y la memoria utilizada.

🔭 Laravel Telescope (Oficial)

Telescope es un *asistente de depuración* oficial de Laravel que registra todas las actividades de tu aplicación en una base de datos, proporcionando un panel de administración limpio para revisarlas posteriormente.

**Instalación:**

Líneas de comandos
composer require laravel/telescope
php artisan telescope:install
php artisan migrate

Telescope es excelente para inspeccionar:

  • **Requests:** Todos los detalles de las solicitudes HTTP, incluyendo headers y sesiones.
  • **Exceptions:** Un registro de todas las excepciones que han ocurrido en la aplicación.
  • **Logs:** Los mensajes registrados con la función `Log::info()` o `dump()`.
  • **Jobs, Mail, Notifications:** Seguimiento del estado y los datos de las tareas en cola, correos enviados y notificaciones.

🐛 Depuración Clásica: dd() y dump()

Aunque las herramientas visuales son poderosas, la función nativa de Laravel **`dd()`** (dump and die) sigue siendo un salvavidas rápido y muy utilizado.

Ejemplo de dd()
public function store(Request $request)
{
    // Detiene la ejecución y muestra los datos de la solicitud
    dd($request->all());

    // Si no queremos detener la ejecución, usamos dump()
    // dump($request->ip()); 
    // return redirect()->back();
}

El Debugbar y Telescope capturan automáticamente las salidas de **`dump()`** sin interrumpir el flujo de tu aplicación.

✅ Buenas prácticas

  • **Producción:** Asegúrate de que **Debugbar** esté deshabilitado en entornos de producción (el flag `--dev` en la instalación ayuda con esto) y limita el acceso a la URL de **Telescope** a usuarios administradores.
  • **Uso Combinado:** Usa **Debugbar** para una inspección rápida de la página actual y **Telescope** para el seguimiento de tareas en segundo plano (`Jobs`) y correos electrónicos.
  • **Queries Lentísimas:** Ambos, Telescope y Debugbar, te avisarán sobre consultas a la base de datos que son demasiado lentas, lo cual es vital para optimizar el rendimiento.

Publicar un comentario

0 Comentarios