PHP DEBUG BAR: LA BARRA DE DEPURACIÓN PARA DESARROLLADORES PHP

PHP Debug Bar es una biblioteca PHP que renderiza una barra con múltiples pestañas de información. Fue creada para ser genérica y compatible con cualquier framework o aplicación PHP. PHP Debug Bar es una herramientas que, elimina la necesidad de usar var_dump dispersos por el código y proporciona una visión completa y organizada del comportamiento de la aplicación.

Características principales

  • Interfaz limpia y rápida: Fácil de usar y con buen rendimiento.
  • Soporte para AJAX: Maneja solicitudes asíncronas correctamente.
  • Collectors integrados:
    • Mensajes de logs, info, warnings, errores.
    • Medición de tiempo de ejecución.
    • Excepciones.
    • Consultas a base de datos con integración Doctrine, etc..
    • Variables de Request, Response y Session.
    • Configuración.
    • Perfilado de memoria y tiempo.
  • Extensible: Puedes crear tus propios collectors.
  • Integraciones oficiales con frameworks populares como Laravel, Symfony, Zend

Instalación

La forma más sencilla es mediante Composer:

composer require php-debugbar/php-debugbar:^3 --dev

Ejemplo

require 'vendor/autoload.php';

use DebugBar\StandardDebugBar;

$debugbar = new StandardDebugBar();
$debugbarRenderer = $debugbar->getJavascriptRenderer();

// Añadir información manualmente
$debugbar["messages"]->addMessage("Hola mundo");
$debugbar["time"]->startMeasure('longop', 'Operación larga');
sleep(1); // simulación
$debugbar["time"]->stopMeasure('longop');

// Renderizar la barra (normalmente al final del HTML)
echo $debugbarRenderer->render();

Mejores prácticas

  • Solo usarlo en desarrollo: Configurar la herramienta para que se active solo cuando "APP_DEBUG=true" o en entornos locales.
  • Seguridad: Nunca dejar Debug Bar accesible en staging o producción. Puede revelar la estructura de la base de datos, credenciales, etc.
  • Personalización: Crear collectors personalizados para métricas específicas de la aplicación como tiempo de renderizado de plantillas, llamadas a APIs externas, etc..
  • Rendimiento: La versión 3 es mucho más ligera, pero sigue siendo recomendable desactivarla en pruebas de carga.
    • También se puede debuggear en php usando XDebug