DevelDumperBase.php

Same filename and directory in other branches
  1. 4.x src/DevelDumperBase.php

Namespace

Drupal\devel

File

src/DevelDumperBase.php

View source
<?php

namespace Drupal\devel;

use Drupal\Component\Render\MarkupInterface;
use Drupal\Core\Plugin\PluginBase;
use Drupal\devel\Render\FilteredMarkup;
use Drupal\devel\Twig\Extension\Debug;

/**
 * Defines a base devel dumper implementation.
 *
 * @see \Drupal\devel\Annotation\DevelDumper
 * @see \Drupal\devel\DevelDumperInterface
 * @see \Drupal\devel\DevelDumperPluginManager
 * @see plugin_api
 */
abstract class DevelDumperBase extends PluginBase implements DevelDumperInterface {
  
  /**
   * {@inheritdoc}
   */
  public function dump($input, ?string $name = NULL) : void {
    echo (string) $this->export($input, $name);
  }
  
  /**
   * {@inheritdoc}
   */
  public function exportAsRenderable($input, ?string $name = NULL) : array {
    return [
      '#markup' => $this->export($input, $name),
    ];
  }
  
  /**
   * Wrapper for \Drupal\Core\Render\Markup::create().
   *
   * @param mixed $input
   *   The input to mark as a safe string.
   *
   * @return \Drupal\Component\Render\MarkupInterface|string
   *   The unaltered input value.
   */
  protected function setSafeMarkup(mixed $input) : MarkupInterface|string {
    return FilteredMarkup::create($input);
  }
  
  /**
   * Returns a list of internal functions.
   *
   * The list returned from this method can be used to exclude internal
   * functions from the backtrace output.
   *
   * @return array
   *   An array of internal functions.
   */
  protected function getInternalFunctions() : array {
    $class_name = static::class;
    $manager_class_name = DevelDumperManager::class;
    return [
      [
        $class_name,
        'dump',
      ],
      [
        $class_name,
        'export',
      ],
      [
        $manager_class_name,
        'dump',
      ],
      [
        $manager_class_name,
        'export',
      ],
      [
        $manager_class_name,
        'exportAsRenderable',
      ],
      [
        $manager_class_name,
        'message',
      ],
      [
        Debug::class,
        'dump',
      ],
      'devel_export',
      'devel_message',
      'devel_debug',
      'dpm',
      'dvm',
      'dsm',
      'dpr',
      'dvr',
      'kpr',
      'dargs',
      'dcp',
      'dfb',
      'dfbt',
      'dpq',
      'ddebug_backtrace',
      'kdevel_print_object',
      'backtrace_error_handler',
    ];
  }

}

Classes

Title Deprecated Summary
DevelDumperBase Defines a base devel dumper implementation.