Kint.php in Devel 4.x
File
src/Plugin/Devel/Dumper/Kint.php
View source
<?php
namespace Drupal\devel\Plugin\Devel\Dumper;
use Drupal\devel\DevelDumperBase;
use Kint\Parser\BlacklistPlugin;
use Kint\Renderer\RichRenderer;
use Psr\Container\ContainerInterface;
class Kint extends DevelDumperBase {
public function __construct(array $configuration, $plugin_id, $plugin_definition) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this
->configure();
}
protected function configure() {
\Kint::$plugins = array_diff(\Kint::$plugins, [
'Kint\\Parser\\ClassMethodsPlugin',
'Kint\\Parser\\ClassStaticsPlugin',
'Kint\\Parser\\IteratorPlugin',
]);
\Kint::$aliases = $this
->getInternalFunctions();
RichRenderer::$folder = FALSE;
BlacklistPlugin::$shallow_blacklist[] = ContainerInterface::class;
}
public function export($input, $name = NULL) {
ob_start();
if ($name == '__ARGS__') {
call_user_func_array([
'Kint',
'dump',
], $input);
$name = NULL;
}
elseif ($name !== NULL) {
\Kint::dump($input, '---temporary-fix-see-issue-252---');
}
else {
\Kint::dump($input);
}
$dump = ob_get_clean();
if ($name) {
$dump = str_replace('<div class="kint-rich">', '<div class="kint-rich">' . $name . ': ', $dump);
$pattern = '/(<dl><dt>[\\w\\d\\s<>\\/()]*"---temporary-fix-see-issue-252---"<\\/dt><\\/dl>)/';
preg_match($pattern, $dump, $matches);
if (!preg_last_error() && isset($matches[1])) {
$dump = str_replace($matches[1], '', $dump);
}
}
return $this
->setSafeMarkup($dump);
}
public function getInternalFunctions() {
return array_merge(parent::getInternalFunctions(), \Kint\Kint::$aliases);
}
public static function checkRequirements() {
return class_exists('Kint', TRUE);
}
}
Classes
Name |
Description |
Kint |
Provides a Kint dumper plugin. |