am 8. April 2009
PHP ist dafür bekannt, das man gerne die Möglichkeiten eines Debuggers vergisst und das altbewährte var_dump oder echo verwendet, um rauszufinden, welchen Status einzelne Variablen gerade haben. Ich muss ja gestehen, dass ich auch gerne echo verwende und ich eigentlich relativ zufrieden damit bin. Nur leider vergisst man ab und zu doch mal den ein oder anderen Debug-Output und dieser findet sich dann in der Versionsverwaltung wieder. Meistens findet man es noch bevor es live geht, trotzdem ist es unschön und fehleranfällig. Wie kann man das aber verhindern?
Eigentlich ganz einfach. Benutzt eine kleine Hilfsfunktion. Schreibt euch eine Methode, die debugEcho heißt (gilt natürlich auch für debugVarDump). Diese sieht wie folgt aus:
function debugEcho( $string )
{
echo $string;
}
So jetzt werdet ihr erstmal denken, dass diese Methode ja sowas von unnötig ist, da sie einfach nur den Befehl weiter reicht und nichts anderes macht. Und was soll ich sagen? Stimmt! Was soll dieser Ansatz denn dann? Ok wir machen zwar nichts anderes als der echo Befehl auch, nur wir können jetzt unterscheiden, was ein normales echo ist und was als debug Output gedacht ist. Ab jetzt können wir ohne Probleme ein kleines Werkzeug schreiben, dass unerwünschte Ausgaben findet. Integriert in ein SVN Prehook könnte man zum Beispiel verhindern, dass die Entwickler solchen Code überhaupt einchecken können. Aber wenn man keine Hooks anwenden möchte, dann sollte man sein PHPUnderControl verwenden um sie zu finden.