Integrando FirePHP con Flight micro php framework

¿Qué es y para que sirve FirePHP?

FirePHP es una extensión del famoso Firebug de Firefox que te ayuda a debugear tus scripts de php. Esto lo hace de tres maneras principalmente:

  1. Permitiendo mandar mensajes personalizados, al modo de print o var_dump(), a la consola de Firebug como podemos ver en esta imagen:
    firephp con flight michocro framework
    El objeto Flight::request() en la consola de Firebug
  2. Mostrando en esa misma consola una detallada información de un error producido en tu script, por ejemplo, al lanzarse una excepción como en la imagen:
    Salida de FirePHP en Firebug
    Pantalla de Firefox mostrando la salida de FirePHP en Firebug
  3. Especialmente útil para probar solicitudes ajax a un script de php.
    Probando ajax con FIrePHP
    Probando ajax con FIrePHP

Instalando FirePHP

Para poder usar esta herramienta debe hacer los siguientes pasos:

  1. Asegúrate de tener instalado el complemento Firebug de Firefox (Herramientas>>Complementos>>Extensiones). De no ser así, instálelo desde esta página de Firefox Addons.
  2. Una vez instalado Firebug, y también desde Firefox Addons, instale FirePHP desde esta página. Deberá verlo en Herramientas>>Complementos>>Extensiones
  3. Descargar la parte del servidor, es decir, los archivos que utilizaremos en nuestros proyectos php que nos permitirán utilizar esta herramienta. Se pueden descargar desde esta página.Una vez descargado y descomprimido, quédese con el archivo FirePHP.class.php, que encontrará en la subcarpeta FirePHPCore-0.3.2/lib/FirePHPCore/, y cópielo a una carpeta de la raíz de su proyecto. En mi caso, lo copiaré a la carpeta vendors. Como utilizo composer añado la siguiente línea a mi composer.json:

    ... ... ...
    "autoload": {
    ... ... ...
    "files":["vendor/FirePHP.class.php"]
    ... ... ...
    }
    ... ... ...

    Una vez realizado composer update ya estará disponible para su uso en el projecto.

Integrando FirePHP en Flight micro framework

Flight micro framework se caracteriza por la facilidad en integrar scripts php de terceros dentro del framework. En el caso que nos ocupa tendremos que utilizar las siguientes líneas de código:

 Flight::register('firephp','FirePHP',array(),function($firephp){
    $firephp->registerErrorHandler($throwErrorExceptions=true);
    $firephp->registerExceptionHandler();
    $firephp->registerAssertionHandler(
        $convertAssertionErrorsToExceptions=true,
        $throwAssertionExceptions=false);
    $options = array('includeLineNumbers' => true);
    $firephp->setOptions($options);
});

A partir de ese momento podremos acceder a los métodos y propiedades definidos en FirePHP.class.php a través de Flight::firephp().
Para los ejemplos que se muestran en las imágenes he utilizado los siguientes:

  • Flight::firephp()->trace(Flight::request()); [Imagen 1]
  • $request = Flight::request();
    Flight::firephp()->log($request->data);
    [Imagen 3]

Si además del código anterior añadimos

Flight::map('error', function(Exception $ex){
    Flight::firephp()->trace('Error detectado');
});

conseguiremos que las excepciones lanzadas por el framework también se muestren en la consola de Firebug [como en la imagen 2].
Bueno, creo que ha llegado el momento de terminar este tema. No estaría de más recordar que en FirePHP encontrarás información complementaria. Como siempre estoy abierto a preguntas, comentarios o críticas. Un saludo.

Anuncios