TwigExtension.php in Twig VarDumper 8.2
File
src/TwigExtension.php
View source
<?php
namespace Drupal\twig_vardumper;
use Twig\Environment;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;
class TwigExtension extends AbstractExtension {
public function getFunctions() {
return [
new TwigFunction('dump', [
$this,
'drupalDump',
], [
'is_safe' => [
'html',
],
'needs_context' => TRUE,
'needs_environment' => TRUE,
'is_variadic' => TRUE,
]),
new TwigFunction('vardumper', [
$this,
'drupalDump',
], [
'is_safe' => [
'html',
],
'needs_context' => TRUE,
'needs_environment' => TRUE,
'is_variadic' => TRUE,
]),
];
}
public function getName() {
return 'twig_vardumper';
}
public function drupalDump(Environment $env, array $context, array $args = []) {
if (!$env
->isDebug()) {
return;
}
ob_start();
$var_dumper = '\\Symfony\\Component\\VarDumper\\VarDumper';
if (class_exists($var_dumper)) {
if (!empty($args)) {
foreach ($args as $arg) {
call_user_func($var_dumper . '::dump', $arg);
}
}
else {
call_user_func($var_dumper . '::dump', $context);
}
return ob_get_clean();
}
else {
trigger_error('Could not dump the variable because symfony/var-dumper component is not installed.', E_USER_WARNING);
}
}
}
Classes
Name |
Description |
TwigExtension |
Twig extension with some useful functions and filters. |