Laravel Debugbar: depurar a tua aplicação em desenvolvimento

A Laravel Debugbar é o package de Barry vd. Heuvel que mostra, em cada página, o que a aplicação está mesmo a fazer. Instalação com o composer e visita guiada aos separadores: mensagens, timeline, exceções, views, rotas e queries.

Laravel Debugbar: depurar a tua aplicação em desenvolvimento

A barra de depuração do Laravel é, antes de mais, um package criado por Barry vd. Heuvel que te permite acompanhar a aplicação de forma rápida e simples durante o desenvolvimento. Instala-se sem esforço e faz parte dos packages que vale mesmo a pena conhecer.

Instalação do package

A instalação da barra de depuração do Laravel é bastante simples: começamos com o composer e corremos o comando composer require para descarregar o package.

bash
composer require barryvdh/laravel-debugbar

Em seguida, abre o ficheiro config/app.php e, dentro do array dos Providers, acrescenta:

php
Barryvdh\Debugbar\ServiceProvider::class,

Depois acrescentamos o respetivo alias no array das Facades:

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

E, por fim, não te esqueças de correr o comando seguinte:

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

Pronto, a barra de depuração do Laravel está instalada e, enquanto a aplicação estiver em modo de depuração, a barra aparece e mostra estatísticas interessantes sobre a página que estás a ver.

Descobrir as várias opções

Eis a interface da famosa barra de ferramentas:

laravel-debugbar-01.jpg

Mensagens

Messages é a secção que mostra as mensagens ou os testes que tenhas incluído num controlador, nos modelos, etc.

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

As mensagens seguem os níveis PSR-3 (Emergency, Alert, Critical, Error, Warning, Notice, Info, Debug).

Timeline

debug-laravel-02.jpg

A Timeline dá jeito para corrigir código que limita o desempenho da aplicação. Eis alguns exemplos:

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();
});

Exceções

O separador seguinte regista as exceções. Podes registar exceções que passam a aparecer na barra de depuração:

debug-laravel-3.jpg

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

Views

debug-laravel-07.jpg

As views mostram-te todos os templates pais e filhos com todos os parâmetros passados. Com este separador ficas seguro de que envias apenas os dados de que precisas:

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

Route

debug-laravel-05.jpg

Pouco há a dizer, é bastante claro. O Route reúne todas as informações ligadas à rota: o controlador, o URI usado, o prefixo, o namespace, etc.

Query

debug-laravel-06.jpg

As queries são uma das partes mais importantes de uma aplicação, e é neste separador que tens as informações sobre as consultas que envias ao servidor de base de dados. Consultas mal otimizadas ou desnecessárias conseguem alongar bastante o carregamento das páginas e prejudicar a experiência dos utilizadores.

Mail and Request

Estes dois elementos reúnem tudo o que precisas de saber sobre os e-mails enviados e os pedidos.

···

LaravelPackages

Damien Flandrin Programador web desde 2010, criador da Gekkode e do Email Impact. Cada artigo é testado num projeto real antes de ser publicado. Contacto
Newsletter

Os novos testes, tutoriais e projetos, por e-mail.

Testes reproduzíveis, código versionado, resultados datados. Nunca spam.