FirePHP für FireBug
Die FireBug Extension für den Firefox Browser gehört zu unserem Handwerkszeug ebenso dazu wie die IE Developer Toolbar. Für das Debuggen von Ajax-Anwendungen allerdings sind beide Tools nicht sonderlich hilfreich. Zwar zeigt FireBug die Request und Response Daten an, dennoch wäre es hilfreich zu wissen was auf Serverseite (im Hintergrund) passiert um zu Erkennen wie die Response tatsächlich zusammengebaut wird.
Um die per Ajax gesendeten Daten nicht zu verfälschen (z.B. um eine JSON Response nicht kaputt zu machen) bleibt nur das Schreiben von Logfiles auf dem Server. Dies hat allerdings den Nachteil dass man zum einen Zugriff auf den Server benötigt, zum Anderen u.U. durch zeitgleiche Requests das Logfile die mitgeloggten Daten nicht sauber trennt. Vor ein paar Tagen bin ich nun eher zufällig über FirePHP gestolpert. Als Firefox Extension, genauer gesagt als FireBug Extension, unterstüzt FirePHP das Debuggen von Ajax Anwendungen. Es sind keine Logfiles mehr nötig da FirePHP die Logeinträge direkt an den Browser sendet und innerhalb von FireBug darstellt. FirePHP besteht dabei aus einer Firefox Extension die man installieren muss und einem PHP Teil. Für die unterschiedlichsten Frameworks wie Symfony oder Zend Framework gibt es schon eigene Implementierungen so dass man i.d.R. diese nur konfigurieren und in die Anwendung einbinden muss.
Sobald alles korrekt eingerichtet ist können die Log-Ausgaben sehr einfach an den Client gesendet werden:
fb('Ich bin eine Lognachricht' ,FirePHP::LOG);
Mehr Informationen zu FirePHP ansich und den Erweiterungsmöglichkeiten sich auf den Wiki-Seiten des Projekts.