<?xml version="1.0" encoding="UTF-8"?>
<!-- Reviewed: no -->
<!-- EN-Revision: 24249 -->
<sect3 id="zend.db.profiler.profilers.firebug">
    <title>Firebug によるプロファイリング</title>

    <para>
        <classname>Zend_Db_Profiler_Firebug</classname> は、プロファイリング情報を
        <ulink url="http://www.getfirebug.com/">Firebug</ulink> <ulink
            url="http://getfirebug.com/logging.html">コンソール</ulink>
        に送信します。
    </para>

    <para>
        すべてのデータの送信には <classname>Zend_Wildfire_Channel_HttpHeaders</classname>
        コンポーネントを使用します。これは <acronym>HTTP</acronym> ヘッダを使用するので、
        ページのコンテンツには何も影響を及ぼしません。
        この方式なら、<acronym>AJAX</acronym> リクエストのようにクリーンな <acronym>JSON</acronym>
        および <acronym>XML</acronym> レスポンスを要求するリクエストのデバッグも行えます。
    </para>

    <para>
        要件:
    </para>

    <itemizedlist>
        <listitem>
            <para>
                Firefox ブラウザ。バージョン 3 が最適ですがバージョン 2 にも対応しています。
            </para>
        </listitem>

        <listitem>
            <para>
                Firebug 拡張。<ulink
                    url="https://addons.mozilla.org/ja/firefox/addon/1843">https://addons.mozilla.org/ja/firefox/addon/1843</ulink>
                からダウンロードできます。
            </para>
        </listitem>

        <listitem>
            <para>
                FirePHP 拡張。<ulink
                    url="https://addons.mozilla.org/ja/firefox/addon/6149">https://addons.mozilla.org/ja/firefox/addon/6149</ulink>
                からダウンロードできます。
            </para>
        </listitem>
    </itemizedlist>

    <example id="zend.db.profiler.profilers.firebug.example.with_front_controller">
        <title>Zend_Controller_Front を使った DB のプロファイリング</title>

        <programlisting language="php"><![CDATA[
// 起動ファイル

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

// プロファイラを db アダプタにアタッチします
$db->setProfiler($profiler);

// フロントコントローラをディスパッチします

// モデル、ビューそしてコントローラファイル内で発行されたすべての
// DB クエリのプロファイル結果が Firebug に送信されます
]]></programlisting>
    </example>

    <example id="zend.db.profiler.profilers.firebug.example.without_front_controller">
        <title>Zend_Controller_Front を使わない DB のプロファイリング</title>

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

// プロファイラを DB アダプタにアタッチします
$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);

// 出力バッファリングを開始します
ob_start();

// DB クエリを発行すると、それがプロファイリングされます

// データをブラウザに送信します
$channel->flush();
$response->sendHeaders();
]]></programlisting>
    </example>
</sect3>
<!--
vim:se ts=4 sw=4 et:
-->
