Archivo de la etiqueta: programación

FirePHP, otra herramienta de depuración de PHP

Llevo años usando Xdebug para hacer depuración de PHP, pero últimamente estoy ocupando algo más.

FirePHP está compuesto de 2 partes, una librería PHP (puede ser usada en versión orientada a objetos o en funciones). La otra parte es una extensión para Firefox (también hay otras extensiones de terceros para otros navegadores, como Google Chrome), que a su vez extiende la funcionalidad de la ya conocida extensión Firebug.

¿Para que sirve?

Firebug añade un panel donde se puede llevar control de varios tipos de error que son detectados por el navegador, sobre todo en tiempo de ejecución como lo es con javascript de las páginas web o también de las mismas extensiones de Firefox.

FirePHP añade algo más. Por el lado de la librería, Firebug es capaz de enviar información de depuración a través de las cabeceras HTTP y no en el contenido (como lo hace el reemplazo de la gestión de errores nativa de PHP que añade Xdebug). Esto tiene varias ventajas, por ejemplo:

  • Evita que al desplegarse errores sobre el HTML de un sitio, este se descuadre su diseño, o debido al diseño, no pueda verse bien el error en ciertos casos.
  • Evitar corrupción de datos cuando PHP genera salidas que no son de texto plano, por ejemplo al generar un PDF dinámicamente o imágenes (con php_gd2).
  • Al hacer peticiones por ajax, donde generalmente uno “no ve” lo que está llegando (con Firebug se puede ver), y por lo tanto tampoco se ve si la salida venía con errores entremedio.
  • En la misma linea de los 2 puntos anteriores, evita que se corrompa una salida en json o xml al hacer peticiones ajax que vengan con errores.

Por el lado del cliente, añade un filtro a Firebug para detectar estas cabeceras y desplegarlas en la Consola de Firebug.

Además, con un pequeño “hack”, se pueden redirigir TODOS los errores estándar que salen por pantalla, a las cabeceras, simplemente con un script (en PHP).

Hermoso, ¿y como lo hago funcionar?

Simple.

Seguir leyendo FirePHP, otra herramienta de depuración de PHP