Laravel Debugbar: depurar tu aplicación con Laravel 5

La barra de depuración de Laravel es un paquete de Barry vd. Heuvel que te permite seguir tu aplicación durante el desarrollo. Aquí tienes cómo instalarlo con Composer y qué muestra cada pestaña: mensajes, timeline, excepciones, vistas, rutas y consultas.

Laravel Debugbar: depurar tu aplicación con Laravel 5

La barra de herramientas de depuración de Laravel es, ante todo, un paquete desarrollado por Barry vd. Heuvel que permite controlar tu aplicación de forma rápida y sencilla durante el desarrollo. Se instala en un momento y es uno de esos paquetes imprescindibles que conviene conocer.

Instalación del paquete

Instalar la barra de depuración de Laravel es bastante sencillo: empezamos con composer y lanzamos el comando composer require para descargar el paquete.

bash
composer require barryvdh/laravel-debugbar

Después abre el archivo config/app.php y, dentro del array de Providers, añade:

php
Barryvdh\Debugbar\ServiceProvider::class,

A continuación añadimos su alias en el array de Facades:

php
'Debugbar' => Barryvdh\Debugbar\Facade::class,

Y, por último, no olvides ejecutar el siguiente comando:

php
php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"

Listo: ya tienes instalada la barra de depuración de Laravel y, mientras tu aplicación esté en modo depuración, la barra aparecerá y mostrará estadísticas interesantes sobre la página que estás viendo.

Descubrir las distintas opciones

Esta es la interfaz de la famosa barra de herramientas:

laravel-debugbar-01.jpg

Message

Messages es la sección que te permite mostrar mensajes o pruebas que hayas incluido en un controlador, en los modelos, etc.

php
Debugbar::info("Message info !");
Debugbar::error('Message erreur!');
Debugbar::warning('Attention !');
Debugbar::addMessage('Mon Message', 'Mon Label');

Los mensajes incluyen los niveles PSR-3 (Emergency, Alert, Critical, Error, Warning, Notice, Info, Debug).

Timeline

debug-laravel-02.jpg

La Timeline resulta práctica para corregir el código que penaliza el rendimiento de tu aplicación. Aquí van algunos ejemplos:

php
Debugbar::startMeasure('render','Temps du rendu');
Debugbar::stopMeasure('render');

Debugbar::addMeasure('Lancement Laravel', LARAVEL_START, microtime(true));
Debugbar::measure('Total Utilisateurs', function() {
    $user = App\User::all();
});

Exceptions

La pestaña siguiente registra las excepciones. Puedes registrar excepciones para que aparezcan en la barra de depuración:

debug-laravel-3.jpg

php
try {
  throw new Exception('test');
} catch (Exception $e) {
  Debugbar::addException($e);
}

Views

debug-laravel-07.jpg

Las vistas te muestran todas las plantillas padre e hijas con todos los parámetros que se les pasan. Con esta pestaña puedes asegurarte de enviar solo los datos que necesitas:

php
return view('welcome')->with('titre', 'Mon Titre')->with('message', 'Mon Message');

Route

debug-laravel-05.jpg

Poco que decir, se explica solo. Route reúne toda la información relacionada con tu ruta: su controlador, la URI utilizada, su prefijo, su namespace, etc.

Query

debug-laravel-06.jpg

Las consultas son una de las partes más importantes de una aplicación, y es en esta pestaña donde tienes la información relativa a las consultas que lanzas contra tu servidor de base de datos. Las consultas mal optimizadas o innecesarias pueden alargar mucho la carga de tus páginas y perjudicar la experiencia de tus usuarios.

Mail and Request

Estos dos elementos reúnen todo lo que necesitas saber sobre los correos salientes y las peticiones.

···

LaravelPackages

Damien Flandrin Desarrollador web desde 2010, creador de Gekkode y de Email Impact. Cada artículo se prueba en un proyecto real antes de publicarse. Contacto
Newsletter

Las nuevas pruebas, tutoriales y proyectos, por correo.

Pruebas reproducibles, código versionado, resultados fechados. Nunca spam.