Este es un paquete para integrar la barra de depuración PHP con Laravel. Incluye un ServiceProvider para registrar la barra de depuración y adjuntarlo a la salida. Puede publicar activos y configurarlo a través de Laravel. Bootstraps a algunos coleccionistas para trabajar con Laravel e implementa un par de datos personalizados, específicos para Laravel. Está configurado para mostrar redireccionamientos y solicitudes (jQuery) AJAX. (Se muestra en un menú desplegable) Lea la documentación para obtener más opciones de configuración.

Precaución
Use la barra de depuración solo en el desarrollo. No use DebugBar en sitios web de acceso público, ya que filtrará información de las solicitudes almacenadas (por diseño).
Advertencia
También puede ralentizar la aplicación (porque tiene que recopilar y representar datos). Entonces, al experimentar la lentitud, intente deshabilitar a algunos de los coleccionistas.
Este paquete incluye algunos coleccionistas personalizados:
Bootstraps Los siguientes coleccionistas para Laravel:
Y los coleccionistas predeterminados:
También proporciona una interfaz de fachada ( Debugbar ) para mensajes fáciles de registro, excepciones y tiempo
Requiere este paquete con el compositor. Se recomienda solo requerir el paquete para el desarrollo.
composer require barryvdh/laravel-debugbar --devLaravel usa el paquete de descubrimiento automático, por lo que no requiere que agregue manualmente el ServiceProvider.
El DebugBar se habilitará cuando APP_DEBUG sea true .
Si usa una ruta Catch-All/Fallback, asegúrese de cargar el ServiceProvider de Servicio deBarbar antes de sus propios Apropiadores de servicios.
Si no usa el descubrimiento automático, agregue el ServiceProvider a la lista de proveedores. Para Laravel 11 o más nuevo, agregue el ServiceProvider en Bootstrap/Providers.php. Para Laravel 10 o más, agregue el ServiceProvider en config/app.php.
Barryvdh Debugbar ServiceProvider::class, Si desea usar la fachada para registrar mensajes, agregue esto dentro del método register de app/Providers/AppServiceProvider.php clase:
public function register (): void
{
$ loader = Illuminate Foundation AliasLoader:: getInstance ();
$ loader -> alias ( ' Debugbar ' , Barryvdh Debugbar Facades Debugbar::class);
} El Profiler está habilitado de forma predeterminada, si tiene app_debug = true. Puede anular eso en la configuración ( debugbar.enabled ) o configurando DEBUGBAR_ENABLED en su .env . Consulte más opciones en config/debugbar.php también puede configurar en su configuración si desea incluir/excluir los archivos de proveedores también (fontawesome, stop stopd.js y jQuery). Si ya los usa en su sitio, configúrelo en falso. También solo puede mostrar los proveedores JS o CSS, configurándolo en 'JS' o 'CSS'. (Stop stopd.js requiere ambos CSS + JS, así que establezca en true para resaltar de sintaxis)
php artisan vendor:publish --provider= " BarryvdhDebugbarServiceProvider " Asegúrese de agregar laraveldebugbar a su lista de descarga en config/octane.php .
' flush ' => [
Barryvdh Debugbar LaravelDebugbar::class,
], Para Lumen, registre un proveedor diferente en bootstrap/app.php :
if ( env ( ' APP_DEBUG ' )) {
$ app -> register ( Barryvdh Debugbar LumenServiceProvider::class);
}Para cambiar la configuración, copie el archivo a su carpeta de configuración y habilitelo:
$ app -> configure ( ' debugbar ' );Ahora puede agregar mensajes usando la fachada (cuando se agrega), utilizando los niveles de PSR-3 (depuración, información, aviso, advertencia, error, crítico, alerta, emergencia):
Debugbar:: info ( $ object );
Debugbar:: error ( ' Error! ' );
Debugbar:: warning ( ' Watch out… ' );
Debugbar:: addMessage ( ' Another message ' , ' mylabel ' );Y comenzar/dejar de tiempo:
Debugbar:: startMeasure ( ' render ' , ' Time for rendering ' );
Debugbar:: stopMeasure ( ' render ' );
Debugbar:: addMeasure ( ' now ' , LARAVEL_START , microtime ( true ));
Debugbar:: measure ( ' My long operation ' , function () {
// Do something…
});O excepciones de registro:
try {
throw new Exception ( ' foobar ' );
} catch ( Exception $ e ) {
Debugbar:: addThrowable ( $ e );
}También hay funciones auxiliares disponibles para las llamadas más comunes:
// 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…
});Si lo desea, puede agregar sus propios Datacollectores, a través del contenedor o la 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 defecto, la barra de depuración se inyecta justo antes de </body> . Si desea inyectar el depugbar usted mismo, configure la opción de configuración 'inyectar' en falso y use el renderizador tú mismo y siga http://phpdebugbar.com/docs/rendering.html
$ renderer = Debugbar:: getJavascriptRenderer ();Nota: No usar el inyección automática, deshabilitará la información de la solicitud, porque eso se agrega después de la respuesta. Puede agregar el DataCollector Default_Request en la configuración como alternativa.
Puede habilitar o deshabilitar la barra de depuración durante el tiempo de ejecución.
Debugbar:: enable ();
Debugbar:: disable ();NÓTESE BIEN. Una vez habilitados, los coleccionistas se agregan (y podrían producir sobrecargas adicionales), por lo que si desea usar la barra de depuración en producción, deshabilite en la configuración y solo habilite cuando sea necesario.
DebugBar recuerda las solicitudes anteriores, que puede ver utilizando el botón Examinar a la derecha. Esto solo funcionará si habilita debugbar.storage.open en la configuración. Asegúrese de hacerlo solo en el desarrollo local, porque de lo contrario otras personas podrán ver las solicitudes anteriores. En general, labar solo debe usarse localmente o al menos restringirse por IP. Es posible pasar una devolución de llamada, que recibirá el objeto de solicitud, para que pueda determinar el acceso al almacenamiento OpenHandler.
Laravel Debugbar viene con dos extensiones de ramita. Estos se prueban con rcrowe/twigbridge 0.6.x
Agregue las siguientes extensiones a su Twigbridge config/extensions.php (o registre las extensiones manualmente)
' BarryvdhDebugbarTwigExtensionDebug ' ,
' BarryvdhDebugbarTwigExtensionDump ' ,
' BarryvdhDebugbarTwigExtensionStopwatch ' , La extensión de volcado reemplazará la función de volcado a las variables de salida utilizando DataFormatter. La extensión de depuración agrega una función debug() que pasa variables al coleccionista de mensajes, en lugar de mostrarla directamente en la plantilla. Deja los argumentos, o cuando está vacío; Todas las variables de contexto.
{{ debug() }}
{{ debug( user , categories ) }}La extensión del cronómetro agrega una etiqueta de cronómetro similar a la de Symfony/Silex Twigbridge.
{% stopwatch " foo " %}
…some things that gets timed
{% endstopwatch %}