FirePHP használata
A FirePHP egy kiterjesztés a Firefox FireBug addon-hoz, amit rendkívül jól használhatunk PHP debuggolásra, hibakeresésre, adatok naplózására, megjelenítésére.A FirePHP használatához szükség van a telepített FireFox böngészőre és a FireBug addon-ra. Ezenkívül PHP oldalon a FirePHP lib-re, ami a naplózást és a JSON adatokat elküldi a böngészőnek. A gyakorlatban ha a böngésző oldalán megvannak a feltételek, PHP oldalon már csak a FirePHP lib-bel kommunikálunk.
FirePHP telepítése:
- Szükségünk van a telepített Firefox-ra.
- FireBug Firefox Addon-ra
- majd telepítsük a FirePHP addont aminek a feltétele a FireBug megléte
Ha webfejlesztéssel foglalkozol és nem ismered a FireBug-ot az derék hiba, de van egy nagyszerű videó sorozat amit RRD készített. A FireBug videó sorozatból gyakorlatilag megérted mennyire hasznos eszköz. A FireBug hogyan videókat letöltheted.
Ha a pluginek beszerzésével megvagy akkor a FireBug-ban engedélyezni kell a FirePHP-t. Ha ezt nem teszed meg, PHP oldalon küldhetsz bármit, az nem fog megjelenni.

Miért jó ez neked?
Van rengeted módszer amivel hibát kereshetsz, ez csak egy alternatív lehetőség amit nem árt ha az ember ismer.
Előnye:
- Működő weboldalaknál nagyon diszkréten lehet hibát javítani.
- Rengeteg nyílt forráskódú rendszer, (Blog, CMS, Framework) használja már beépített szolgáltatásként. (CodeIgniter, ZendFramework, WordPress, Drupal?)
- Egyszerű integráció bármihez
Hátrányok:
- Ha nem tudsz figyelni a biztonsági kérdésekre, a legnagyobb segítéség is rosszul sül el. Gondolok itt arra, hogy mikor végeztél a hibakereséssel, nem kapcsolod ki.
- Én úgy vettem észre sok adatnál behalós a Firefox megjelenítése, persze ez lehet verzió függő is.
FirePHPCore telepítése, használata
Szerezzük be a FirePHPCore osztályt. Telepíthetjük PEAR csomagként is. A telepítés UBUNTU rendszeren az alábbi parancs beírásával történik, rendszergazdai jogosultság mellett:
sudo pear channel-discover pear.firephp.org sudo pear install firephp/FirePHPCore
A FirePHPCore osztály többféle felhasználási lehetőséget biztosít, így a függvényeket elérjük statikus metódusként (FB::), fb() függvény hívással vagy példányosítva is. Lehetőséget ad az osztály PHP4-es verziójában történő használatra is.
Én személy szerinte a Statikus metódusként történő használattal (FB::) favorizálok, bár ebben az esetben nem vagyok meggyőződve, hogy tényleg gyorsabb.
Használat statikus metódussal (FB::), nincs telepítve PEAR csomagként
<?php $fpPath=dirname(__FILE__)."/FirePHPCore-0.3.1/lib/FirePHPCore/"; require_once ($fpPath.'fb.php'); ob_start(); /* minden kijelzés kikapcsolása FB::setEnabled(false); bekapcsolása FB::setEnabled(true); */ FB::setEnabled(true); // Defaults: $options = array('maxObjectDepth' => 10, 'maxArrayDepth' => 20, 'useNativeJsonEncode' => true, 'includeLineNumbers' => true); //var_dump(FB::getOptions()); FB::setOptions($options);
Nagyon fontos részlet a be és kikapcsolása lehetőség, erről ne feledkezzünk el!
FB::setEnabled(false);

Metódusok: log, info, warn, error
//---------------------------------- //változók naplózása $var=array( "lorem"=>"ipsum", "dolor"=>"ament", ); FB::log($var, "variableName"); //---------------------------------- //info FB::info("Fontos információk", "Infó - 1"); //---------------------------------- //warn - figyelmeztetés FB::warn("figyelmeztetések", "Figyelmeztetés - 1"); //---------------------------------- //error - hibaüzi FB::error("Hibaüzenet", "Errmsg - 1");

Üzenetek csoportba sorolása
Az üzeneteket színnel címkével elkülönített csoportokba oszthatjuk, így áttekinthetőbb a lista.
//---------------------------------- //group - csoportok //Start a group for following messages //Options: Collapsed: [true|false] Color: [#RRGGBB|ColorName] $groupName="lorem Csoport"; FB::group($groupName, array("Collapsed"=>true, "Color"=>"#ff6c00")); FB::log(array("lorem", "ipsum", "dolor"), "lorem Array"); FB::groupEnd();
Információk táblázatos megjelenítés
Az átküldött tömb első eleme a táblázat fejléce.
//---------------------------------- //tabla $tabla_label="Tábla Cimke Label"; $table=array(); $table[0]=array("Kérés", "Üzenet"); $table[]=array("SELECT * FROM lorem", "Lorem Query"); $table[]=array("SELECT * FROM ipsum", "Ipsum Query"); $table[]=array("SELECT * FROM loremIpsum", "loremIpsum Query"); FB::table($tabla_label,$table);

A cikk részeként letöltheted a teszt fájlokat, amivel talán egyszerűbb lesz a kezdeti fázist megugrani.
Egy másik verzió a fenti példaprogramokra, itt PEAR csomagként telepítve.
<?php /* Telepítés PEAR-csomagként Ubuntu-ra sudo pear channel-discover pear.firephp.org sudo pear install firephp/FirePHPCore */ require_once ('FirePHPCore/FirePHP.class.php'); ob_start(); $firephp = FirePHP::getInstance(true); /* minden kijelzés kikapcsolása $firephp->setEnabled(false); bekapcsolása $firephp->setEnabled(true); */ $firephp->setEnabled(true); // Defaults: $options = array('maxObjectDepth' => 10, 'maxArrayDepth' => 20, 'useNativeJsonEncode' => true, 'includeLineNumbers' => true); //var_dump($firephp->getOptions()); $firephp->setOptions($options); //---------------------------------- //változók naplózása $var=array( "lorem"=>"ipsum", "dolor"=>"ament", ); $firephp->log($var, "variableName"); //---------------------------------- //info $firephp->info("Fontos információk", "Infó - 1"); //---------------------------------- //warn - figyelmeztetés $firephp->warn("figyelmezetetések", "Figyelmeztetés - 1"); //---------------------------------- //error - hibaüzi $firephp->error("Hibaüzenet", "Errmsg - 1"); //---------------------------------- //group - csoportok //Start a group for following messages //Options: Collapsed: [true|false] Color: [#RRGGBB|ColorName] $groupName="lorem Csoport"; $firephp->group($groupName, array("Collapsed"=>true, "Color"=>"#ff6c00")); $firephp->log(array("lorem", "ipsum", "dolor"), "lorem Array"); $firephp->groupEnd(); $groupName="Ipsum Csoport"; $firephp->group($groupName, array("Collapsed"=>true, "Color"=>"red")); $firephp->log("lorem_variable", "lorem variable"); $firephp->groupEnd(); //---------------------------------- //tabla $tabla_label="Tábla Cimke Label"; $table=array(); $table[0]=array("Kérés", "Üzenet"); $table[]=array("SELECT * FROM lorem", "Lorem Query"); $table[]=array("SELECT * FROM ipsum", "Ipsum Query"); $table[]=array("SELECT * FROM loremIpsum", "loremIpsum Query"); $firephp->table($tabla_label,$table);
Hasznos hivatkozások FirePHP-ról
- Hogyan használd a FirePHP-t
- Hogyan használd Smarty Debuggolásra
- Hogyan használd CodeIgniter-hez
- Hogyan használd Zend Framework-hez
- Mégtöbb FirePHP hogyan
