CakePHP: debug() für große oder komplexe Objekte

Fehler: Maximale PHP-Laufzeit überschritten
Fehler: Maximale PHP-Laufzeit überschritten

Maximale Skriptlaufzeit überschritten

CakePHP bringt die globale Funktion debug() mit, die sich bequem überall nutzen lässt, um beliebige Daten zu debuggen.
Bei Objekten, die viele tief geschachtelte Daten beinhalten, versucht debug() dann mit großem Eifer alle Daten darzustellen, die beispielsweise an einem Controller oder einem Model hängen. Je nach der tatsächlichen Datenmenge und der maximalen Skriptlaufzeit kann das dazu führen, dass das Skript im Ganzen beendet wird und der Programmablauf nicht ordentlich analysiert werden kann.

Als Fehlermeldung erhält man dann etwas in dieser Richtung:

Fatal error: Maximum execution time of 30 seconds exceeded

Eine Alternative bringt CakePHP aber schon selbst mit: In der Debugger-Klasse gibt es die statische Methode dump(), die die Ausgabe der Informationen auf die Ebene des übergebenen Objektes und seiner Attribute und Methoden beschränkt:

Debugger::dump();

Auf diese Weise erhält man oft ausreichende Übersicht ohne die Skriptlaufzeit unnötig ansteigen zu lassen:

Ausgabe von Debugger::dump()

Ausgabe von Debugger::dump()

Schlagwörter:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert