Abro, September 2008

(Zu) fortgeschrittenes PHP-Debugging mit Krumo

phpHeute habe ich wieder ein interessantes PHP-Projekt bei Sourceforge entdeckt. Es heisst “Krumo” und hat sich zum Ziel gesetzt den Debugprozess effektiver zu gestalten, sowie die Funktionen print_r() / var_dump() zu ersetzen. An sich ist die Idee toll, denn die Ausgaben sind normalerweise ziemlich unübersichtlich. Der erste Blick auf die Umsetzung hinterlässt bei mir aber einen fahlen Nachgeschmack.

Mal wieder wollte jemand etwas vereinfachen und hat ein unnötig kompliziertes Resultat erhalten. Ja, die Möglichkeiten sind schon nicht ohne, hübsch ist’s erstmal auch, aber was sollen wir denn noch alles ein- (und nacher ggf. wieder aus-) bauen? Reflection engines, PNG-fixes, PHP basierte CSS generatoren, Javascript frameworks, On the fly Ausgabekompression mit Tidy und GZip .. ja nee. Schaut euch die Demo etwas genauer an und ihr wisst was ich meine. Mir wird es mittlerweile einfach alles zu viel. Wenn ich in PHP Fehlerbehebung mache brauche ich dafür kein CSS oder “DHTML”. Hey sorry, warum soll ich Skins für meinen Debugger veröffentlichen !?

Zitat: Feel free to contribute any new skins that you create on your own. Krumo is designed to present the PHP variable dumps in a nice and graceful way, so polishing its looks with new themes is a very important task.

Fürs debugging hat unser PHP-Framework ein wunderbares ErrorLogging, die IDE tut ihr übriges und wenn’s mal nötigt reich folgendes völlig:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
  /**
  * prints contents of a variable and calls die() for debugging
  *
  * @param    mixed $var -variable to print out
  *
  * @return   void
  */
  function die_dump($var)
  {
    echo '<pre style="text-align:left; background:#fff; color:#000; overflow:auto;">###';
 
    if(is_array($var))  print_r($var);
    else                var_dump($var);
 
    echo '###<\/pre>'; //leider escaped wegen wordpress -.-
 
    die;
  }
?>

Sieht schon zu einfach und deshalb fast unprofessionell aus, macht aber genau das was es soll: Variableninhalte hübsch geschachtelt im HTML ausgeben, egal was drumrum passiert. Denn meist weiss man grob wo der aktuelle Fehler liegt. Bei Großprojekten nutzt der denkende Mensch sowieso Unit Tests um sich Fehlerquellen zu nähern, da muss man nicht alle definierten Konstanten ausgeben lassen *zwinker*. Wenn wir so weitermachen brauchen wir in Kürze eine Abstraktionssprache für PHP.


Kommentare sind geschlossen.
Aufgrund interner Umstrukturierungsmaßnahmen ist es uns z.Zt. leider nicht
möglich auf neue Kommentare zu reagieren. Wir bitten dies zu entschuldigen.
Bei dringenden Rückfragen suchen Sie bitten den direkten Kontakt zu uns.
Das Unternehmen Lucido Media GbR wurde am 31.12.2013 stillgelegt. Diese Website existiert weiterhin zu Archivzwecken. Der Gesellschafter Daniel Abromeit führt seine Arbeit ab sofort unter dem Dach der Agentur Koch Essen fort. Für entsprechende Anfragen wenden Sie sich daher bitte an http://koch-essen.de/kontakt/