Devel https://blog.werk21.de/de de Dealing with *DEPTH TOO GREAT* in Kint https://blog.werk21.de/en/2017/12/13/dealing-depth-too-great-kint <span>*DEPTH TOO GREAT* in Kint</span> <span><span lang="" about="/de/user/8" typeof="schema:Person" property="schema:name" datatype="">patrick</span></span> <span><time datetime="2017-12-13T09:46:24+01:00" title="Mittwoch, 13. Dezember 2017 - 09:46 Uhr">Mi., 13.12.2017 - 09:46 Uhr</time> </span> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>Wenn du <a href="https://drupal.org/project/devel">Devel</a>'s <span class="geshifilter"><code class="php geshifilter-php">dpm<span style="color: #009900;">(</span><span style="color: #009900;">)</span></code></span>mit <a href="https://github.com/kint-php/kint">Kint</a> zum Debuggen in Drupal 8 verwendest, hast du wahrscheinlich schon mal die Nachricht <span class="geshifilter"><code class="php geshifilter-php"><span style="color: #339933;">*</span>DEPTH TOO GREAT<span style="color: #339933;">*</span></code></span> gesehen, während du dich durch ein tief verschachteltes Objekt geklickt hast.</p> <p>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 <span class="geshifilter"><code class="php geshifilter-php"><span style="color: #cc66cc;">7</span></code></span> Ebenen.</p> <p>Wenn du etwas anzeigen möchtest, was tiefer verschachtelt ist, ist es am günstigsten, wenn du mit <span class="geshifilter"><code class="php geshifilter-php">dpm<span style="color: #009900;">(</span><span style="color: #009900;">)</span> </code></span>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</p> <div class="geshifilter"><pre class="php geshifilter-php" style="font-family:monospace;">kint_require<span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span> \Kint<span style="color: #339933;">::</span><span style="color: #000088;">$maxLevels</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">8</span><span style="color: #339933;">;</span></pre></div> <p>irgendwo oberhalb deines Aufrufs von <span class="geshifilter"><code class="php geshifilter-php">dpm<span style="color: #009900;">(</span><span style="color: #009900;">)</span></code></span> einfügst. <span class="geshifilter"><code class="php geshifilter-php"><span style="color: #000088;">$maxLevels</span></code></span> ist dabei natürlich die Anzahl der Ebenen, die du gerne sehen möchtest. Wenn du weißt, was du tust, kannst du sogar</p> <div class="geshifilter"><pre class="php geshifilter-php" style="font-family:monospace;">\Kint<span style="color: #339933;">::</span><span style="color: #000088;">$maxLevels</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span></pre></div> <p>um alle Ebenen auszugeben, egal wie tief das Objekt verschachtelt ist. Verwendung auf eigene Gefahr.</p> </div> <div class="field field--name-field-systems field--type-entity-reference field--label-inline"> <div class="field--label">Systeme</div> <a href="/de/systems/drupal-8-9" class="label label-default" hreflang="de">Drupal 8/9</a> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-inline"> <div class="field--label">Tags</div> <a href="/de/tags/devel" class="label label-default" hreflang="de">Devel</a> <a href="/en/tags/kint" class="label label-default" hreflang="en">Kint</a> <a href="/en/tags/dpm" class="label label-default" hreflang="en">dpm</a> </div> Wed, 13 Dec 2017 07:58:54 +0000 patrick 129 at https://blog.werk21.de