Micaela 7 de noviembre de 2009 a las 09.04
   Imprimir artículo
elWebmaster.com

FirePHP: Ampliaci贸n de Firebug para debug de c贸digo PHP


firephpExisten dos formas t铆picas de debuggear c贸digo del lado de servidor: mediante un Ambiente de Desarrollo Integrado (IDE) con un debugger incorporado o realizar los procesos de debuggeo en un navegador web.

En esta nota compartiremos contigo una forma elegante y simple de debuggear aplicaciones Ajax mediante Mozilla Firefox, a trav茅s de FirePHP.

FirePHP permite registrar tus mensajes de debuggeo a tu consola Firebug. FirePHP no se mete con tu c贸digo (y no necesita que modifiques nada para atrapar errores): los mensajes que imprimes se mandan al navegador a trav茅s de respuestas HTTP, cosa que es genial si utilizas JSON o XML porque no romper谩 su codificaci贸n.

Esto hace que FirePHP no s贸lo sea ideal para debuggear tus peticiones Ajax, sino toda tu base de c贸digo PHP.

驴Qu茅 es FirePHP?

FirePHP es una extensi贸n para una extensi贸n; extiende la popular herramienta Firebug con una API para desarrolladores de aplicaciones web en PHP. FirePHP es gratuita y se puede obtener f谩cilmente mediante la secci贸n Mozilla Add-Ons del sitio oficial de Mozilla.

10-02_preview

驴Qu茅 se necesita?

Para comenzar a utilizar FirePHP, necesitamos:

  1. Firefox
  2. Firebug
  3. FirePHP

La instalaci贸n de estas tres cosas es bastante simple. En el caso de FirePHP, tambi茅n te ser谩 de utilidad este enlace.

Un par de consejos

Una vez que hayas instalado FirePHP, y lo hayas incluido en tu aplicaci贸n web, est谩s listo para registrar y debuggear y registrar informaci贸n. Pero primero, unos consejos:

Consejo #1: No olvides usar ob_start()

Debido a que la informaci贸n se env铆a a Firebug en las cabeceras HTTP, debes activar el b煤fer de salida o de lo contrario, podr铆as toparte con un mensaje de que “las cabeceras ya han enviado el mensaje”. Puede parecer complicado, pero todo lo que tienes que hacer es escribir ob_start () en la primera l铆nea del script PHP que est谩s depurando.

Consejo #2: No te olvides de deshabilitar el logging FirePHP cuando est茅s en vivo

Debes desactivar FirePHP cuando el sitio funcione normalmente o corres el riesgo de exponer informaci贸n sensible a cualquiera que tenga Firebug / FirePHP instalado (hablaremos acerca de c贸mo hacer esto m谩s tarde en el art铆culo). Tambi茅n es buena idea desactivar o suspender Firebug y FirePHP cuando simplemente navegas por la web ya que pueden ralentizar algunos sitios y aplicaciones web (como Gmail, por ejemplo).

Comenzando con el registro FirePHP

Esta es la parte divertida en la que inicia el registro (log) de mensajes y se revisan las funciones b谩sicas de la registraci贸n.
Una cosas a notar es que, al igual que PHP聽 es un lenguaje “pseudo-orientado a objetos”, se puede utilizar FirePHP a modo de procedimiento o de forma orientada a objetos (abreviado a partir de ahora OO).

La API OO permite crear una instancia de un objeto de Firebug para usarlo o para llamar a sus m茅todos est谩ticos directamente.

Instanciando el objeto API OO

En tu script, puedes utilizar el siguiente bloque de c贸digo para crear el objeto FirePHP ($firephp).

require_once(‘FirePHPCore/FirePHP.class.PHP’);
$firephp = FirePHP::getInstance(true);
$firephp -> [classmethod]

OO API con m茅todos est谩ticos

Este es el formato para llamar m茅todos est谩ticos en tu script:

require_once(‘FirePHPCore/fb.PHP’);
FB::[nameofmethod]

La API de procedimiento

As铆 se usa la API de procedimiento de FirePHP:

require_once(‘FirePHPCore/fb.PHP’);
fb($var)
fb($var, ‘Label’)
fb($var, FirePHP::[nameofmethod])

Mensajes de registro e informaci贸n en la consola Firebug

Hablemos de mensajes de registro en la consola Firebug (recuerden que esto s贸lo funcionar谩 si han configurado su aplicaci贸n para FirePHP).

Ejemplos de llamadas de registro b谩sicas

Si est谩s depurando un bug ad-hoc, los siguientes ejemplos ser谩n los que te interesar谩 usar.

Fb::log(“log message”) Esto imprimir谩 un string que pasas dentro de tu consola Firebug. Utilizando el ejemplo de arriba resulta el siguiente mensaje:

10-03_log-msg

Fb::log($array, “dumping an array”) Pasando un array da salida al contenido de tu array. El ejemplo anterior dar谩 como resultado el siguiente mensaje en tu consola Firebug:

10-04_dump-msg

Nota: cuando se pasa el cursor sobre las variables logueadas en la consola de Firebug, una ventana de informaci贸n aparecer谩 en la p谩gina web que contiene todos sus elementos. Es una ingeniosa caracter铆stica, 驴No te parece?

10-05_variable-viewer

Registrando un mensaje de informaci贸n

Aqu铆 hay un ejemplo de registro de mensajes de informaci贸n utilizando el m茅todo info.

Fb::info(“information”) Este es el mensaje que se registra en tu consola Firebug:

10-06_info-msg

Registrando un mensaje de advertencia

Aqu铆 hay un ejemplo de registro de mensaje de advertencia.

Fb::warn(“this is a warning”) Este es el mensaje que se registra en tu consola Firebug:

10-07_warning-msg

Registrando un mensaje de error

Aqu铆 hay un ejemplo de registro de mensaje de advertencia utilizando el m茅todo de informaci贸n.

Fb::error(“error message”) As铆 luce un mensaje de error en tu consola Firebug:

10-08_error-msg

Habilitando o deshabilitando un registro FirePHP

Cuando tu sitio est茅 “en vivo” (es decir, funcional), debes deshabilitar el registro FirePHP. Para esto llama la siguiente l铆nea de c贸digo en las primeras l铆neas de tu script.

FB::setEnabled(false); Lo genial de esto es que puedes dejar todo tu c贸digo FirePHP en tus scripts para usarlo m谩s tarde, s贸lo pontrue o false cu谩ndo desees activar o desactivar el registro, respectivamente.

Si tu aplicaci贸n utiliza un “config file” 聽para seguir el rastro de聽 las configuraciones locales, es recomendable programar una opci贸n de configuraci贸n para habilitarlo o deshabilitarlo.

Conclusi贸n

Antes que nada, aqu铆 hay una captura de pantalla que muestra todos nuestros mensajes Firebug juntos:

10-09_console-demo

En este art铆culo, hemos cubierto las cosas b谩sicas de utilizar FirePHP para ayudarte a debuggear y obtener informaci贸n sobre las aplicaciones PHP/Ajax de forma f谩cil y a trav茅s del navegador. Utilizar FirePHP es muy f谩cil y conveniente y verdaderamente brinda muchas m谩s opciones e informaci贸n para prop贸sitos de debuggeo.

Fuente: Six Revisions


Enviar a Del.icio.us Enviar a Meneame Enviar a Digg Enviar a Fresqui Enviar a Enchilame

Comentarios (2)

  1. Enviando contenido desde PHP a la consola de Firebug | Adobe User Group Granada (trial) dice:

    […] 10 buenas razones para usar Firebug FirePHP: Ampliaci贸n de Firebug para debug de c贸digo PHP […]

  2. anonimo dice:

    me gusta esta informacion

Deja tu opinión

© 2007 - 2008 elWebmaster.com | Powered by Wordpress | Diseño CSS y XHTML válido. | Algunos íconos basados en FamFamFam Mini
Acceder