Besseres Debugging in PHP

Besseres Debugging in PHP

Debugging in PHP ist das größte Arschloch von allen nicht schön. Wohl dem, der einigen Aufwand betrieben hat, um XDebug an den Start zu kriegen. Aber leider ist es in der Regel so, das auf Produktiv-Servern aus Performance-Gründen XDebug eben nicht zum Einsatz kommt. Man endet dann immer wieder bei var_dump() und regelmäßigen Krisenzuständen wegen schlechter Formatierung der Ausgabe. Natürlich gibt es auch entsprechende Libraries um dagegen zu steuern. Bis hin zum automatischen Einblenden von Fehlermeldungen in der Konsole des Browsers.

Bessere var_dump() Anzeige für PHP

Sehr interessant ist das Aufwerten von var_dump() mit der Klasse Kint. Kint erkennt selbständig welchen Typ eine Variable besitzt und passt die Ausgabe entsprechend an. Interessant ist an der Stelle Kint mittels Modul automatisch in ein Framework einzubinden. Man kann es so einfach Einschalten/Ausschalten oder einfach an den Server-Status koppeln (Development / Production). Sehr feine Sache wie ich finde, die es ermöglicht innerhalb der Variablen zu navigieren, und insbesondere die Ausgabe von sehr großen Arrays und Objekten lesbar gestaltet.

Ich denke der eine oder andere von euch kann so etwas gebrauchen! Und hört auf var_dump() zu verwenden, die Ausgabe ist nicht nur schlimm, sondern auch nicht mehr zeitgemäß. Ich verstehe sowieso nicht, wieso Zend gerade an der Stelle nichts unternimmt. Jede höhere Programmiersprache verfügt über einen Debugger und einen Profiler – und jetzt erzählt mir keinen vom Zend Server und der Zend IDE, die sind auch beide nicht sinnvoll nutzbar! ;) Wie ihr seht ist Debugging in PHP eigentlich ganz einfach – man muss es nur richtig einsetzen.

Ähnliche Beiträge

Serverseitige Komprimierung Tja, wer es noch nicht weiß, Seiten lassen sich auf dem Server mit gzip komprimieren, und der Browser entpackt diese dann automatisch. Soweit zumindes...
PHP beschleunigen mit phpFastCache Je höher die Besucher-Zahlen einer Seite werden, desto mehr Probleme fängt man sich ein. In der Regel kommt man heutzutage auf die Idee, langsamen Web...
Word, Excel & Powerpoint Dateien mit PHP erst... In 98% der Fälle besitzt der Kunde eine Excel-Datei, die irgendwie online soll. Normalerweise tauscht man die Daten dann als .CSV aus (insofern der Ku...
Tutorial phpUnderControl Zäumen wir einmal das Pferd von hinten auf, denn in unserem Falle heißt das Pferd nicht phpUnderControl, sondern CruiseControl. CruiseControl ist hier...

Ein Kommentar

  • Solange man alle seine Projekte in der Versionsverwaltung eingecheckt und via automatischem db-sync dafür sorgt, dass die Datenbank lokal und auf dem Server auf einem Stand sind, habe ich bisher keine Schwierigkeiten mit dem Debuggen / Profilen von PHP-Skripten.

    -> lokal bzw. mit einer Admin-Session auf den Staging-System kann man z.B. xDebug, „Logging“-Klasse (extra logfile für z.B. PHP errors / warnings, db-queries), „PHP-Error-Handler“-Function, debug-parameter, etc. verwenden

Schreibe einen Kommentar