# Profilowanie z Firebugiem

`Zend_Db_Profiler_Firebug` przesyła informacje dotyczące sesji profilera do konsoli Firebug.

Wszelkie dane przesyłane są za pomocą komponentu `Zend_Wildfire_Channel_HttpHeaders` używającego nagłówków HTTP co powoduje, iż zawartość strony pozostaje niezmieniona. Dzięki temu również, możliwe jest debugowanie żądań AJAX wymagających czystych notacji JSON oraz XML.

Wymagania:

- Przeglądarka Firefox co najmniej w wersji 2.0

- Rozszerzenie Firebug, które można pobrać z https://addons.mozilla.org/en-US/firefox/addon/1843.

- Rozszerzenie FirePHP, które można pobrać z https://addons.mozilla.org/en-US/firefox/addon/6149.

## Profilowanie zapytań do bazy danych z użyciem Zend_Controller_Front

    // W pliku bootstrap

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

    // Połącz profiler z adapterem bazy danych
    $db->setProfiler($profiler);

    // Uruchom front kontroler

    // Wszystkie zapytania w modelach, widokach i kontrolerach
    // będą teraz profilowane a dane - wysłane do Firebuga

## Profilowanie zapytań do bazy danych bez użycia Zend_Controller_Front

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

    // Połącz profiler z adapterem bazy danych
    $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);

    // Rozpocznij buforowanie wyjścia
    ob_start();

    // Teraz można profilować zapytania

    // Zrzucenie danych profilera do przeglądarki
    $channel->flush();
    $response->sendHeaders();