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

Smarty 3.0 Beta 1 veröffentlicht Ich gebe zu das Smarty ein persönlicher Liebling von mir ist. Zum einen kann ich damit erreichen das mein PHP-Code keinen „Optimierungen“ von Designer...
Amazon Web Services mit Tarzan fĂŒr PHP Im Tutorial haben wir gelernt, wie wir einfach mit PHP die Amazon Web Services ansprechen können. Wir haben allerdings auch gelernt, dass es sehr aufw...
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...
Lambda Funktionen in PHP 5.3 Das neue PHP wird ĂŒber Lambda-Funktionen verfĂŒgen. Toll! Aber was ist das eigentlich? Nun ja, es ist in der Tat etwas schwer zu erklĂ€ren, aber ich wil...

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