<?xml version="1.0" encoding="UTF-8"?>
    <!-- EN-Revision: 20766 -->
    <!-- Reviewed: no -->
<sect3 id="zend.db.profiler.profilers.firebug">
    <title>Perfilando con Firebug</title>

    <para>
        <classname>Zend_Db_Profiler_Firebug</classname> envía información de
        perfilado a la <ulink url="http://getfirebug.com/logging.html"
            >Consola</ulink> de <ulink url="http://www.getfirebug.com/"
            >Firebug</ulink> . </para>

    <para> Todos los datos son enviados a través del componente
            <classname>Zend_Wildfire_Channel_HttpHeaders</classname> que usa
        cabeceras <acronym>HTTP</acronym> para asegurar que el contenido de la
        página no sea alterado. Depurar peticiones <acronym>AJAX</acronym> que
        requieren respuestas <acronym>JSON</acronym> y <acronym>XML</acronym> es
        perfectamente posible con este enfoque. </para>

    <para>Requerimientos:</para>

    <itemizedlist>
        <listitem>
            <para>Navegador web Firefox idealmente versión 3, pero la versión 2
                tambien está soportada.</para>
        </listitem>

        <listitem>
            <para> Extensión Firebug para Firefox, la cual puede descargarse
                desde <ulink
                    url="https://addons.mozilla.org/en-US/firefox/addon/1843"
                    >https://addons. mozilla
                    .org/en-US/firefox/addon/1843</ulink> . </para>
        </listitem>

        <listitem>
            <para> Extensión FirePHP para Firefox, la cual puede descargarse
                desde <ulink
                    url="https://addons.mozilla.org/en-US/firefox/addon/6149"
                    >https://addons.mozilla.org/en-US/firefox/addon/6149</ulink>
                . </para>
        </listitem>
    </itemizedlist>

    <example
        id="zend.db.profiler.profilers.firebug.example.with_front_controller">
        <title>Perfilando DB con Zend_Controller_Front</title>

        <programlisting language="php"><![CDATA[
// En tu archivo bootstrap

$profiler = new Zend_Db_Profiler_Firebug('All DB Queries');
$profiler->setEnabled(true);

// Anexar el perfilador a tu adaptador de base de datos
$db->setProfiler($profiler)

// Despachar el controlador frontal

// Todas las consultas a la base de datos en tus archivos modelo, vista y controlador
// ahora serán perfilados y enviados a Firebug
]]></programlisting>
    </example>

    <example
        id="zend.db.profiler.profilers.firebug.example.without_front_controller">
        <title> Perfilar DB sin Zend_Controller_Front </title>

        <programlisting language="php"><![CDATA[
$profiler = new Zend_Db_Profiler_Firebug('All DB Queries');
$profiler->setEnabled(true);

// Anexar el perfilador a tu adaptador de base de datos
$db->setProfiler($profiler)

$request  = new Zend_Controller_Request_Http();
$response = new Zend_Controller_Response_Http();
$channel  = Zend_Wildfire_Channel_HttpHeaders::getInstance();
$channel->setRequest($request);
$channel->setResponse($response);

// Iniciar un buffer de las salidas
ob_start();

// Ahora se pueden ejecutar las consultas a la Base de Datos para ser perfiladas

// Enviar los datos de perfilado al navegador
$channel->flush();
$response->sendHeaders();
]]></programlisting>
    </example>
</sect3>
