Author:
Julian Kleinhans
Author E-Mail:
Eingetragen:
25.03.2005 - 14:41

Quelle:
Keine Quelle vorhanden
Klicks:
3033




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:
0:   <?php
$data 
= array(    'vorname' => 'Julian'
                        
'nachname' => 'Kleinhans'
                        
'alter' => 22
                        
'wohnort' => 'Ratingen');
echo 
t3lib_div::debug($data);
?>
1:  
2:  
3:  
4:  
5:  
6:  
Hier koennen Sie sich den Quellcode kopieren.


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:
0:   <?php
$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');
?>
1:  
2:  
3:  
4:  
5:  
6:  
7:  
8:  
9:  
10:  
Hier koennen Sie sich den Quellcode kopieren.


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:

0:   <?php
echo t3lib_div::debug($array,__FILE__.__LINE__); 
?>
1:  
2:  
Hier koennen Sie sich den Quellcode kopieren.


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*:

0:   <?php
$GLOBALS
['TYPO3_DB']->debugOutput true;
?>
1:  
2:  
Hier koennen Sie sich den Quellcode kopieren.


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





Ergebnis: Kein Ergebnis vorhanden


Kommentarfunktion derzeit deaktiviert!