*DEPTH TOO GREAT* in Kint

Geschrieben von patrick am Mi., 13.12.2017 - 09:46 Uhr

Wenn du Devel's dpm()mit Kint zum Debuggen in Drupal 8 verwendest, hast du wahrscheinlich schon mal die Nachricht *DEPTH TOO GREAT* gesehen, während du dich durch ein tief verschachteltes Objekt geklickt hast.

Diese Meldung hat einen Grund: Performance. Immer alle Ebenen eines tief verschachtelten Objekts auszugeben könnte entweder auf deinem Server oder in deinem Browser dafür sorgen, dass alle Ressourcen aufgebraucht werden und dann gar nichts mehr geht. Deshalb gibt es eine Begrenzung der anzuzeigenden Ebenen. Die ist normalerweise bei 7 Ebenen.

Wenn du etwas anzeigen möchtest, was tiefer verschachtelt ist, ist es am günstigsten, wenn du mit dpm() einfach ein paar Ebenen tiefer mit der Ausgabe anfängst. Aber manchmal kannst oder willst du das nocht machen. In solchen Fällen kannst du die maximal anzuzeigenden Ebenen erhöhen, indem du

kint_require();
\Kint::$maxLevels = 8;

irgendwo oberhalb deines Aufrufs von dpm() einfügst. $maxLevels ist dabei natürlich die Anzahl der Ebenen, die du gerne sehen möchtest. Wenn du weißt, was du tust, kannst du sogar

\Kint::$maxLevels = 0;

um alle Ebenen auszugeben, egal wie tief das Objekt verschachtelt ist. Verwendung auf eigene Gefahr.

Systeme
Drupal 8/9
Tags
Devel Kint dpm