function Renderer::addDebugOutput
Same name in other branches
- 9 core/lib/Drupal/Core/Render/Renderer.php \Drupal\Core\Render\Renderer::addDebugOutput()
- 11.x core/lib/Drupal/Core/Render/Renderer.php \Drupal\Core\Render\Renderer::addDebugOutput()
Add cache debug information to the render array.
Parameters
array $elements: The renderable array that must be wrapped with the cache debug output.
bool $is_cache_hit: A flag indicating that the cache is hit or miss.
array $pre_bubbling_elements: The renderable array for pre-bubbling elements.
float $render_time: The rendering time.
Return value
array The renderable array.
1 call to Renderer::addDebugOutput()
- Renderer::doRender in core/
lib/ Drupal/ Core/ Render/ Renderer.php - See the docs for ::render().
File
-
core/
lib/ Drupal/ Core/ Render/ Renderer.php, line 888
Class
- Renderer
- Turns a render array into an HTML string.
Namespace
Drupal\Core\RenderCode
protected function addDebugOutput(array $elements, bool $is_cache_hit, array $pre_bubbling_elements = [], float $render_time = 0) {
if (empty($elements['#markup'])) {
return $elements;
}
$debug_items = [
'CACHE' => &$elements,
'PRE-BUBBLING CACHE' => &$pre_bubbling_elements,
];
$prefix = "<!-- START RENDERER -->";
$prefix .= "\n<!-- CACHE-HIT: " . ($is_cache_hit ? 'Yes' : 'No') . " -->";
foreach ($debug_items as $name_prefix => $debug_item) {
if (!empty($debug_item['#cache']['tags'])) {
$prefix .= "\n<!-- " . $name_prefix . " TAGS:";
foreach ($debug_item['#cache']['tags'] as $tag) {
$prefix .= "\n * " . $tag;
}
$prefix .= "\n-->";
}
if (!empty($debug_item['#cache']['contexts'])) {
$prefix .= "\n<!-- " . $name_prefix . " CONTEXTS:";
foreach ($debug_item['#cache']['contexts'] as $context) {
$prefix .= "\n * " . $context;
}
$prefix .= "\n-->";
}
if (!empty($debug_item['#cache']['keys'])) {
$prefix .= "\n<!-- " . $name_prefix . " KEYS:";
foreach ($debug_item['#cache']['keys'] as $key) {
$prefix .= "\n * " . $key;
}
$prefix .= "\n-->";
}
if (!empty($debug_item['#cache']['max-age'])) {
$prefix .= "\n<!-- " . $name_prefix . " MAX-AGE: " . $debug_item['#cache']['max-age'] . " -->";
}
}
if (!empty($render_time)) {
$prefix .= "\n<!-- RENDERING TIME: " . number_format($render_time, 9) . " -->";
}
$suffix = "<!-- END RENDERER -->";
$elements['#markup'] = Markup::create("{$prefix}\n" . $elements['#markup'] . "\n{$suffix}");
return $elements;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.