Zend_Wildfire

Zend_Wildfire

Zend_Wildfire nám umožňuje zapisovat do logovací konzole Firebugu. Je toho využito především u Zend_Log_Wri­ter_Firebug.

Zend_Log_Writer_Fi­rebug

Zend_Log_Writer_Fi­rebug je standardní writer použitelný pro Zend_Log. Výstup je posílán pomocí Zend_Wildfire_Chan­nel_HttpHeaders v HTTP hlavičkách. Pro správnou funkčnost je potřebný Firefox 3 (případně 2), Firebug Extension a FirePHP Extension.

Logování inicializujeme tímto způsobem:

$log = new Zend_Log();
$writer = new Zend_Log_Writer_Firebug();
$log->addWriter($writer);

A poté můžeme zalogovat nějaké zprávy:

$log->debug('Debug');
$log->info('Info');
$log->notice('Notice');
$log->warn('Warn');
$log->err('Err');
$log->crit('Crit');
$log->alert('Alert');
$log->emerg('Emerg');

Ty se zobrazí ve Firebug konzoli takto

firebug - logování

Toto byla jedna část využití výpisu do firebugu

Zend_Db_Profi­ler_Firebug

Zend_Db_Profi­ler_Firebug slouží stejně jako jiné profilery k logování trvání jednotlivých SQL dotazů volaných v aplikaci.

Nejdříve vytvoříme instanci Profileru a nastavíme titulek (‚All DB Queries‘), poté profiler zapneme a nakonec ho nastavíme do našeho db adaptéru.

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

Pozn.: Vzhledem k tomu, že komponenta ještě obsahuje bug, tak nedojde k automatické inicializaci. Proto je potřeba zavolat setEnabled(true); a ještě následující příkazy, aby se správně odeslaly hlavičky, pokud není zároveň použitý Zend_Log_Writer_Fi­rebug, který je nastavuje správně. V budoucnu to snad nebude potřeba.

$front = Zend_Controller_Front::getInstance();
$front->registerPlugin(Zend_Wildfire_Channel_HttpHeaders::getInstance());

Nyní už je vše připraveno a můžeme zavolat nějaké dotazy do databáze:

$data = array('text' => md5(rand(1, 10000)));
$db->insert('test', $data);
$data = $db->select()->from('test')->query()->fetchAll();

Výsledkem je přehledná tabulka ve Firebugu, s trváním jednotlivých SQL a jejich parametry.

Zend_Log_Writer_Fi­rebug ještě nefunguje v CLI (spouštění z příkazové řádky). Bug jsem reportoval, tak doufám, že ho opraví.

Download

Zend_Wildfire DEMO

3 thoughts on “Zend_Wildfire

  1. Nejdřív mi Firebug (na FF3) házel nějaký podivný chyby, pomohla nová verze. Díky za tenhle článek :thumbup:

  2. Pingback: Zend Framework CZ » Archiv » Zend Framework 1.6 je tady!

  3. s profilerem je bohužel problém sledovat historii pokud máte na stránce přesměrování. je třeba v kódu přesměrování vypnout…

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

*

Můžete používat následující HTML značky a atributy: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>