<sect3 id="zend.db.profiler.profilers.firebug">
    <title>Perfilando con Firebug</title>

    <para>
        <code>Zend_Db_Profiler_Firebug</code> 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
        <code>Zend_Wildfire_Channel_HttpHeaders</code> que usa cabeceras HTTP
        para asegurar que el contenido de la página no sea alterado.
        Depurar peticiones AJAX que requieren respuestas JSON y XML
        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 <code>Zend_Controller_Front</code></title>

        <programlisting role="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 <code>Zend_Controller_Front</code></title>

        <programlisting role="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>
<!--
vim:se ts=4 sw=4 et:
-->
