If this tutorial is helpful to you, you can donate some money to the tutorial author via Paypal.

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.


Was this tutorial helpful? So, you can donate some money to the tutorial author via Paypal.