File "DebugExtension.php"
Full Path: /home/rfaztorb/public_html/wp-content-20250522162300/plugins/elementor/vendor_prefixed/twig/twig/twig/src/Extension/DebugExtension.php
File size: 1.55 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace ElementorDeps\Twig\Extension;
use ElementorDeps\Twig\Environment;
use ElementorDeps\Twig\Template;
use ElementorDeps\Twig\TemplateWrapper;
use ElementorDeps\Twig\TwigFunction;
final class DebugExtension extends AbstractExtension
{
public function getFunctions() : array
{
// dump is safe if var_dump is overridden by xdebug
$isDumpOutputHtmlSafe = \extension_loaded('xdebug') && (\false === \ini_get('xdebug.overload_var_dump') || \ini_get('xdebug.overload_var_dump')) && (\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();
}
}