TYPO3

Tutorials - Howto`s - Tipps & Tricks

Tutorials \ Extensions \ Debug Methode :: Hilfe bei der Programmierung
Tags: Debug
Klicks: 4025
Debug Methode :: Hilfe bei der Programmierung
Von: kj187
Am: 25.03.2005 - 14:41

Debug Methode :: Hilfe bei der Programmierung

Wenn man eine eigene Extension schreibt, benutzt man zum größten Teil Arrays, und um den Überblick zu behalten, was nach den ganzen Schritten in einem Array noch so drin steht, hat man die Möglichkeit, mit einer Funktion das Array schön und sauber in einer Tabelle anzeigen zu lassen. Beispiel:

$data = array(    'vorname' => 'Julian', 
                        'nachname' => 'Kleinhans', 
                        'alter' => 22, 
                        'wohnort' => 'Ratingen');
echo t3lib_div::debug($data);

Ergebnis 

je nach devIPMask Einstellungen ist auch nur debug($sonstwas); nützlich, vor allem wenn ein Kundenprojekt Online ist einfach im Installtool und devIpMask deine IP eingeben und dann mit debug($sonstwas); arbeiten, so kannst nur du den debug sehen und nicht irgendwelche User die grade auf der Site sind. Kleiner Zusatz Tip: Ihr lasst euch gleichzeitig mehrere Debugs ausgeben und verliert den Überblick, welcher Debug welcher ist? Kein Problem, ihr könnt eueren Debugs aus Namen geben. Beispiel:

$data = array(    'vorname' => 'Julian', 
                        'nachname' => 'Kleinhans', 
                        'alter' => 22, 
                        'wohnort' => 'Ratingen');
echo t3lib_div::debug($data,'Array vorher'); 

$data['vorname'] = 'kj187';
$data['Alter'] = 23;
echo t3lib_div::debug($data,'Array nachher');

Ergebnis Anstatt einen Namen könnt Ihr euch auch den Pfad zur Datei und Zeilennummer ausgeben lassen. Das ist natürlich besser wenn man irgendwann sieht, da ist ja noch ein Debug aber wo kommt der her. Schreibt einfach folgendes in euer Debug:

echo t3lib_div::debug($array,__FILE__.__LINE__); 

Hinweis: lässt du dir eine Variable im debug ausgeben erscheint |debug|. das funktioniert nur mit Arrays ;-) Auch bei der Verwendung der integrierten DB-Abstrktionsschicht können eine Reihe von Fehlern auftreten, die teilweise nur sehr magere Fehlermeldungen produzieren. Um eine etwas explizitere Fehlerausgabe zu erzwingen sollte man folgende Zeile in seine Extension integrieren*:

$GLOBALS['TYPO3_DB']->debugOutput = true;

So wird z.B. das SQL-Stement Ausgegeben, das zu einem Fehler geführt hat.

Spenden Sie dem Autor dieses Tutorials ein kleinen Betrag für seine Mühe!

Kommentare

To top TYPO3 - Tutorials - Howto`s - Tipps & Tricks