class Kint
Provides a Kint dumper plugin.
Plugin annotation
@DevelDumper(
id = "kint",
label = @Translation("Kint"),
description = @Translation("Wrapper for <a href='https://github.com/kint-php/kint'>Kint</a> debugging tool."),
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait extends \Drupal\Component\Plugin\PluginBase
- class \Drupal\devel\DevelDumperBase implements \Drupal\devel\DevelDumperInterface extends \Drupal\Core\Plugin\PluginBase
- class \Drupal\devel\Plugin\Devel\Dumper\Kint extends \Drupal\devel\DevelDumperBase
- class \Drupal\devel\DevelDumperBase implements \Drupal\devel\DevelDumperInterface extends \Drupal\Core\Plugin\PluginBase
- class \Drupal\Core\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait extends \Drupal\Component\Plugin\PluginBase
Expanded class hierarchy of Kint
6 string references to 'Kint'
- Debug::getFunctions in src/
Twig/ Extension/ Debug.php - devel.module in ./
devel.module - This module holds functions useful for Drupal development.
- DevelDumperBase::getInternalFunctions in src/
DevelDumperBase.php - Returns a list of internal functions.
- devel_update_8001 in ./
devel.install - Set the default devel dumper plugin.
- Kint::checkRequirements in src/
Plugin/ Devel/ Dumper/ Kint.php - Checks if requirements for this plugin are satisfied.
File
-
src/
Plugin/ Devel/ Dumper/ Kint.php, line 20
Namespace
Drupal\devel\Plugin\Devel\DumperView source
class Kint extends DevelDumperBase {
/**
* {@inheritdoc}
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->configure();
}
/**
* Configures kint with more sane values.
*/
protected function configure() {
// Remove resource-hungry plugins.
\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;
}
/**
* {@inheritdoc}
*/
public function export($input, $name = NULL) {
ob_start();
if ($name == '__ARGS__') {
call_user_func_array([
'Kint',
'dump',
], $input);
$name = NULL;
}
elseif ($name !== NULL) {
// In order to get the correct access path information returned from Kint
// we have to give a second parameter here. This is due to a fault in
// Kint::getSingleCall which returns no info when the number of arguments
// passed to Kint::dump does not match the number in the original call
// that invoked the export (such as dsm). However, this second parameter
// is just treated as the next variable to dump, it is not used as the
// label. So we give a dummy value that we can remove below.
// @see https://gitlab.com/drupalspoons/devel/-/issues/252
\Kint::dump($input, '---temporary-fix-see-issue-252---');
}
else {
\Kint::dump($input);
}
$dump = ob_get_clean();
if ($name) {
// Kint no longer treats an additional parameter as a custom title, but we
// can add the required $name as a label at the top of the output.
$dump = str_replace('<div class="kint-rich">', '<div class="kint-rich">' . $name . ': ', $dump);
// Remove the output from the second dummy parameter. The pattern in [ ]
// matches the minimum to ensure we get just the string to be removed.
$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);
}
/**
* {@inheritdoc}
*/
public function getInternalFunctions() {
return array_merge(parent::getInternalFunctions(), KintOriginal::$aliases);
}
/**
* {@inheritdoc}
*/
public static function checkRequirements() {
return class_exists('Kint', TRUE);
}
}
Members
| Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
|---|---|---|---|---|---|
| DependencySerializationTrait::$_entityStorages | protected | property | An array of entity type IDs keyed by the property name of their storages. | ||
| DependencySerializationTrait::$_serviceIds | protected | property | An array of service IDs keyed by property name used for serialization. | ||
| DependencySerializationTrait::__sleep | public | function | 2 | ||
| DependencySerializationTrait::__wakeup | public | function | #[\ReturnTypeWillChange] | 2 | |
| DevelDumperBase::dump | public | function | Dumps information about a variable. | Overrides DevelDumperInterface::dump | 2 |
| DevelDumperBase::exportAsRenderable | public | function | Returns a string representation of a variable wrapped in a render array. | Overrides DevelDumperInterface::exportAsRenderable | 2 |
| DevelDumperBase::setSafeMarkup | protected | function | Wrapper for \Drupal\Core\Render\Markup::create(). | ||
| Kint::checkRequirements | public static | function | Checks if requirements for this plugin are satisfied. | Overrides DevelDumperInterface::checkRequirements | |
| Kint::configure | protected | function | Configures kint with more sane values. | ||
| Kint::export | public | function | Returns a string representation of a variable. | Overrides DevelDumperInterface::export | |
| Kint::getInternalFunctions | public | function | Returns a list of internal functions. | Overrides DevelDumperBase::getInternalFunctions | |
| Kint::__construct | public | function | Constructs a \Drupal\Component\Plugin\PluginBase object. | Overrides PluginBase::__construct | |
| MessengerTrait::$messenger | protected | property | The messenger. | 27 | |
| MessengerTrait::messenger | public | function | Gets the messenger. | 27 | |
| MessengerTrait::setMessenger | public | function | Sets the messenger. | ||
| PluginBase::$configuration | protected | property | Configuration information passed into the plugin. | 1 | |
| PluginBase::$pluginDefinition | protected | property | The plugin implementation definition. | 1 | |
| PluginBase::$pluginId | protected | property | The plugin_id. | ||
| PluginBase::DERIVATIVE_SEPARATOR | constant | A string which is used to separate base plugin IDs from the derivative ID. | |||
| PluginBase::getBaseId | public | function | Gets the base_plugin_id of the plugin instance. | Overrides DerivativeInspectionInterface::getBaseId | |
| PluginBase::getDerivativeId | public | function | Gets the derivative_id of the plugin instance. | Overrides DerivativeInspectionInterface::getDerivativeId | |
| PluginBase::getPluginDefinition | public | function | Gets the definition of the plugin implementation. | Overrides PluginInspectionInterface::getPluginDefinition | 2 |
| PluginBase::getPluginId | public | function | Gets the plugin_id of the plugin instance. | Overrides PluginInspectionInterface::getPluginId | |
| PluginBase::isConfigurable | public | function | Determines if the plugin is configurable. | ||
| StringTranslationTrait::$stringTranslation | protected | property | The string translation service. | 3 | |
| StringTranslationTrait::formatPlural | protected | function | Formats a string containing a count of items. | ||
| StringTranslationTrait::getNumberOfPlurals | protected | function | Returns the number of plurals supported by a given language. | ||
| StringTranslationTrait::getStringTranslation | protected | function | Gets the string translation service. | ||
| StringTranslationTrait::setStringTranslation | public | function | Sets the string translation service to use. | 2 | |
| StringTranslationTrait::t | protected | function | Translates a string to the current language or to a given language. |