Skip to content

Commit 8dbb82e

Browse files
authored
Merge pull request #991 from cakephp/5.x-nesting-depth
5.x nesting depth
2 parents 03a655e + 9e12ea2 commit 8dbb82e

File tree

3 files changed

+16
-6
lines changed

3 files changed

+16
-6
lines changed

docs/en/index.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,12 @@ Configuration
6464

6565
* ``DebugKit.ignoreAuthorization`` - Set to true to ignore Cake Authorization plugin for DebugKit requests. Disabled by default.
6666

67+
* ``DebugKit.maxDepth`` - Defines how many levels of nested data should be shown in general for debug output. Default is 5.
68+
WARNING: Increasing the max depth level can lead to an out of memory error.::
69+
70+
// Show more levels
71+
Configure::write('DebugKit.maxDepth', 8);
72+
6773
* ``DebugKit.variablesPanelMaxDepth`` - Defines how many levels of nested data should be shown in the variables tab. Default is 5.
6874
WARNING: Increasing the max depth level can lead to an out of memory error.::
6975

src/Panel/RequestPanel.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
*/
1515
namespace DebugKit\Panel;
1616

17+
use Cake\Core\Configure;
1718
use Cake\Error\Debugger;
1819
use Cake\Event\EventInterface;
1920
use DebugKit\DebugPanel;
@@ -35,6 +36,7 @@ public function shutdown(EventInterface $event): void
3536
/** @var \Cake\Controller\Controller $controller */
3637
$controller = $event->getSubject();
3738
$request = $controller->getRequest();
39+
$maxDepth = Configure::read('DebugKit.maxDepth', 5);
3840

3941
$attributes = [];
4042
foreach ($request->getAttributes() as $attr => $value) {
@@ -43,15 +45,15 @@ public function shutdown(EventInterface $event): void
4345
} catch (Exception $e) {
4446
$value = "Could not serialize `{$attr}`. It failed with {$e->getMessage()}";
4547
}
46-
$attributes[$attr] = Debugger::exportVarAsNodes($value);
48+
$attributes[$attr] = Debugger::exportVarAsNodes($value, $maxDepth);
4749
}
4850

4951
$this->_data = [
5052
'attributes' => $attributes,
51-
'query' => Debugger::exportVarAsNodes($request->getQueryParams()),
52-
'data' => Debugger::exportVarAsNodes($request->getData()),
53-
'cookie' => Debugger::exportVarAsNodes($request->getCookieParams()),
54-
'get' => Debugger::exportVarAsNodes($_GET),
53+
'query' => Debugger::exportVarAsNodes($request->getQueryParams(), $maxDepth),
54+
'data' => Debugger::exportVarAsNodes($request->getData(), $maxDepth),
55+
'cookie' => Debugger::exportVarAsNodes($request->getCookieParams(), $maxDepth),
56+
'get' => Debugger::exportVarAsNodes($_GET, $maxDepth),
5557
'matchedRoute' => $request->getParam('_matchedRoute'),
5658
'headers' => [
5759
'response' => headers_sent($file, $line),

src/Panel/SessionPanel.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
*/
1515
namespace DebugKit\Panel;
1616

17+
use Cake\Core\Configure;
1718
use Cake\Error\Debugger;
1819
use Cake\Event\EventInterface;
1920
use DebugKit\DebugPanel;
@@ -34,7 +35,8 @@ public function shutdown(EventInterface $event): void
3435
/** @var \Cake\Http\ServerRequest|null $request */
3536
$request = $event->getSubject()->getRequest();
3637
if ($request) {
37-
$content = Debugger::exportVarAsNodes($request->getSession()->read());
38+
$maxDepth = Configure::read('DebugKit.maxDepth', 5);
39+
$content = Debugger::exportVarAsNodes($request->getSession()->read(), $maxDepth);
3840
$this->_data = compact('content');
3941
}
4042
}

0 commit comments

Comments
 (0)