Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. DebugExtension.php

class DebugExtension

Same name in this branch
  1. 11.1.x core/lib/Drupal/Core/Template/DebugExtension.php \Drupal\Core\Template\DebugExtension

Hierarchy

  • class \Twig\Extension\AbstractExtension implements \Twig\Extension\ExtensionInterface
    • class \Twig\Extension\DebugExtension extends \Twig\Extension\AbstractExtension

Expanded class hierarchy of DebugExtension

1 file declares its use of DebugExtension
debug.php in vendor/twig/twig/src/Resources/debug.php

File

vendor/twig/twig/src/Extension/DebugExtension.php, line 19

Namespace

Twig\Extension
View source
final class DebugExtension extends AbstractExtension {
    public function getFunctions() : array {
        // dump is safe if var_dump is overridden by xdebug
        $isDumpOutputHtmlSafe = \extension_loaded('xdebug') && str_contains(\ini_get('xdebug.mode'), 'develop') && (false === \ini_get('html_errors') || \ini_get('html_errors')) || 'cli' === \PHP_SAPI;
        return [
            new TwigFunction('dump', [
                self::class,
                'dump',
            ], [
                'is_safe' => $isDumpOutputHtmlSafe ? [
                    'html',
                ] : [],
                'needs_context' => true,
                'needs_environment' => true,
                'is_variadic' => true,
            ]),
        ];
    }
    
    /**
     * @internal
     */
    public static function dump(Environment $env, $context, ...$vars) {
        if (!$env->isDebug()) {
            return;
        }
        ob_start();
        if (!$vars) {
            $vars = [];
            foreach ($context as $key => $value) {
                if (!$value instanceof Template && !$value instanceof TemplateWrapper) {
                    $vars[$key] = $value;
                }
            }
            var_dump($vars);
        }
        else {
            var_dump(...$vars);
        }
        return ob_get_clean();
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
AbstractExtension::getFilters public function Returns a list of filters to add to the existing list. Overrides ExtensionInterface::getFilters 4
AbstractExtension::getNodeVisitors public function Returns the node visitor instances to add to the existing list. Overrides ExtensionInterface::getNodeVisitors 9
AbstractExtension::getOperators public function Returns a list of operators to add to the existing list. Overrides ExtensionInterface::getOperators 1
AbstractExtension::getTests public function Returns a list of tests to add to the existing list. Overrides ExtensionInterface::getTests 2
AbstractExtension::getTokenParsers public function Returns the token parser instances to add to the existing list. Overrides ExtensionInterface::getTokenParsers 5
DebugExtension::dump public static function @internal
DebugExtension::getFunctions public function Returns a list of functions to add to the existing list. Overrides AbstractExtension::getFunctions
RSS feed
Powered by Drupal