Mailinglisten-Archive |
Hallo Liste Ich hab bei meiner Arbeit mit PHP festgestellt, daß es ziemlich nervig sein kann sich die Werte von Variablen mit 'echo' ausgeben zu lassen. Manchmal passt das einfach nicht ins Skript. Ich habe deshalb eine Debugger-Klasse geschrieben mit zwei Methoden. Mit der einen sammel ich die Variablen ein und mit der anderen gebe ich sie am Ende des Skriptes als formatierte Tabelle wieder aus. Mit Angabe von Zeilennummer, der Datei (wegen includes), Name, Wert und Typ der Variablen. class debug{ var $haltepunkte=array(); function haltepunkt($zeilennummer,$datei,$variablenname,$variable){ $string="<tr><td>$datei</td><td>$zeilennummer</td><td>$variablenname</td>"; $string.="<td>".gettype($variable)."</td><td>$variable</td></tr>"; $this->haltepunkte[]=$string; } function ausgabe(){ echo "<table border=\"0\" bgcolor=\"#00ccff\"><tr bgcolor=\"#6699ff\"><td><b>Datei</b></td>"; echo "<td><b>Zeilennummer</b></td>"; echo "<td><b>Name</b></td>"; echo "<td><b>Typ</b></td>"; echo "<td><b>Wert</b></td></tr>"; for($i=0;$i<sizeof($this->haltepunkte);$i++){ echo $this->haltepunkte[$i]; } echo "</table>"; } } Das Ding ist wirklich nützlich. Ätzend ist nur, daß ich der Methode "haltepunkt" vier Argumente übergeben muß, um die Variable $variable zu überwachen. $deb->haltepunkt( __LINE__ , __FILE__, "name_der_variablen" , $variable); Die Konstanten __LINE__ und __FILE__ geben die Zeilennummer und das Skript das gerade geparst wird wieder. Mir ist leider keine Möglichkeit eingefallen wie ich an die Werte kommen könnte, ohne __LINE__ und __FILE__ jedesmal als Argumente zu übergeben. Den Namen der Variablen muß ich auch als String mit übergeben, da er sonst innerhalb der Methode nicht verfügbar ist. Ich bin aber von Natur aus faul, darum hätte ich gerne einen Methodenaufruf wie diesen: $deb->haltepunkt($variable); Hat irgend jemand Verbesserungsvorschläge??? Kritik?? Ich arbeite erst seit zwei Monaten mit PHP, und darum würde mich auch interessieren was alte Hasen dazu sagen(Cool oder unnützer Schrott??). Gruß #### Martin ####
php::bar PHP Wiki - Listenarchive