Este é um pacote para integrar a barra de depuração do PHP ao Laravel. Inclui um ServiceProvider para registrar o Debugbar e anexá -lo à saída. Você pode publicar ativos e configurá -lo através do Laravel. Ele aprimora alguns colecionadores para trabalhar com o Laravel e implementa alguns datacoletores personalizados, específicos para o Laravel. É configurado para exibir redirecionamentos e (jQuery) solicitações de Ajax. (Mostrado em um suspensão) Leia a documentação para obter mais opções de configuração.

Cuidado
Use o Debugbar apenas no desenvolvimento. Não use Debugbar em sites acessíveis ao público, pois ele vazará informações de solicitações armazenadas (por design).
Aviso
Também pode retardar o aplicativo (porque precisa reunir e renderizar dados). Então, ao experimentar a lentidão, tente desativar alguns dos colecionadores.
Este pacote inclui alguns colecionadores personalizados:
Bootstraps Os seguintes colecionadores para o Laravel:
E os colecionadores padrão:
Ele também fornece uma interface de fachada ( Debugbar ) para facilitar mensagens de registro, exceções e tempo
Requer este pacote com compositor. Recomenda -se exigir apenas o pacote de desenvolvimento.
composer require barryvdh/laravel-debugbar --devO Laravel usa a descoberta automática do pacote, portanto, não exige que você adicione manualmente o ServiceProvider.
O Debugbar será ativado quando APP_DEBUG for true .
Se você usar uma rota Catch-All/Fallback, carregue o DebugBar ServiceProvider antes do seu próprio aplicativo ServiceProviders.
Se você não usar descoberta automática, adicione o serviço do serviço à lista de provedores. Para o Laravel 11 ou mais recente, adicione o ServiceProvider em bootstrap/proveders.php. Para o Laravel 10 ou mais, adicione o ServiceProvider no Config/App.php.
Barryvdh Debugbar ServiceProvider::class, Se você deseja usar a fachada para registrar mensagens, adicione isso no método register de app/Providers/AppServiceProvider.php Classe:
public function register (): void
{
$ loader = Illuminate Foundation AliasLoader:: getInstance ();
$ loader -> alias ( ' Debugbar ' , Barryvdh Debugbar Facades Debugbar::class);
} O Profiler é ativado por padrão, se você tiver app_debug = true. Você pode substituir isso na configuração ( debugbar.enabled ) ou configurando DEBUGBAR_ENABLED no seu .env . Consulte mais opções no config/debugbar.php Você também pode definir em sua configuração se desejar incluir/excluir os arquivos do fornecedor também (Fontawesome, Highlight.js e JQuery). Se você já os usa no seu site, defina -o como falso. Você também pode exibir apenas os fornecedores JS ou CSS, configurando -o como 'JS' ou 'CSS'. (Destaque.js requer ambos os CSs + JS, então defina como true para destaque da sintaxe)
php artisan vendor:publish --provider= " BarryvdhDebugbarServiceProvider " Certifique -se de adicionar o LaravelDebugbar à sua lista de descarga na config/octane.php .
' flush ' => [
Barryvdh Debugbar LaravelDebugbar::class,
], Para o lúmen, registre um provedor diferente no bootstrap/app.php :
if ( env ( ' APP_DEBUG ' )) {
$ app -> register ( Barryvdh Debugbar LumenServiceProvider::class);
}Para alterar a configuração, copie o arquivo para sua pasta de configuração e habilite:
$ app -> configure ( ' debugbar ' );Agora você pode adicionar mensagens usando a fachada (quando adicionada), usando os níveis do PSR-3 (depuração, informação, aviso, aviso, erro, crítico, alerta, emergência):
Debugbar:: info ( $ object );
Debugbar:: error ( ' Error! ' );
Debugbar:: warning ( ' Watch out… ' );
Debugbar:: addMessage ( ' Another message ' , ' mylabel ' );E iniciar/parar de tempo:
Debugbar:: startMeasure ( ' render ' , ' Time for rendering ' );
Debugbar:: stopMeasure ( ' render ' );
Debugbar:: addMeasure ( ' now ' , LARAVEL_START , microtime ( true ));
Debugbar:: measure ( ' My long operation ' , function () {
// Do something…
});Ou exceções de log:
try {
throw new Exception ( ' foobar ' );
} catch ( Exception $ e ) {
Debugbar:: addThrowable ( $ e );
}Existem também funções auxiliares disponíveis para as chamadas mais comuns:
// All arguments will be dumped as a debug message
debug ( $ var1 , $ someString , $ intValue , $ object );
// `$collection->debug()` will return the collection and dump it as a debug message. Like `$collection->dump()`
collect ([ $ var1 , $ someString ])-> debug ();
start_measure ( ' render ' , ' Time for rendering ' );
stop_measure ( ' render ' );
add_measure ( ' now ' , LARAVEL_START , microtime ( true ));
measure ( ' My long operation ' , function () {
// Do something…
});Se desejar, você pode adicionar seus próprios datacollectores, através do contêiner ou da fachada:
Debugbar:: addCollector ( new DebugBar DataCollector MessagesCollector ( ' my_messages ' ));
//Or via the App container:
$ debugbar = App:: make ( ' debugbar ' );
$ debugbar -> addCollector ( new DebugBar DataCollector MessagesCollector ( ' my_messages ' )); Por padrão, o Debugbar é injetado pouco antes de </body> . Se você quiser injetar o depurador, defina a opção de configuração 'injeção' como falsa e use o renderizador e siga http://phpdebugbar.com/docs/rendering.html
$ renderer = Debugbar:: getJavascriptRenderer ();Nota: Não usando o injeção automática, desativará as informações da solicitação, porque isso é adicionado após a resposta. Você pode adicionar o Datacollector Default_Request na configuração como alternativa.
Você pode ativar ou desativar o Debugbar durante o tempo de execução.
Debugbar:: enable ();
Debugbar:: disable ();Nb. Uma vez ativado, os colecionadores são adicionados (e podem produzir uma sobrecarga extra); portanto, se você deseja usar o Debugbar na produção, desative na configuração e apenas habilite quando necessário.
O Debugbar se lembra de solicitações anteriores, que você pode visualizar usando o botão de navegação à direita. Isso só funcionará se você habilitar debugbar.storage.open na configuração. Certifique -se de fazer isso apenas no desenvolvimento local, porque, caso contrário, outras pessoas poderão visualizar solicitações anteriores. Em geral, o Debugbar deve ser usado apenas localmente ou pelo menos restrito por IP. É possível passar um retorno de chamada, que receberá o objeto de solicitação, para que você possa determinar o acesso ao armazenamento do OpenHandler.
O Laravel Debugbar vem com duas extensões de galho. Estes são testados com rcrowe/twigbridge 0,6.x
Adicione as seguintes extensões à sua twigbridge config/extensions.php (ou registre as extensões manualmente)
' BarryvdhDebugbarTwigExtensionDebug ' ,
' BarryvdhDebugbarTwigExtensionDump ' ,
' BarryvdhDebugbarTwigExtensionStopwatch ' , A extensão do despejo substituirá a função de despejo para emitir variáveis usando o DataFormatter. A extensão de depuração adiciona uma função debug() que passa variáveis ao coletor de mensagens, em vez de mostrá -lo diretamente no modelo. Ele despeja os argumentos, ou quando vazio; Todas as variáveis de contexto.
{{ debug() }}
{{ debug( user , categories ) }}A extensão de parada adiciona uma tag de parada semelhante à da Symfony/Silex Twigbridge.
{% stopwatch " foo " %}
…some things that gets timed
{% endstopwatch %}