loopit-8.x-1.x-dev/dumpers/loopit_krumo/src/Plugin/Devel/Dumper/KrumoDebug.php

dumpers/loopit_krumo/src/Plugin/Devel/Dumper/KrumoDebug.php
<?php


/**
 * @file
 * Contains \Drupal\loopit_krumo\Plugin\Devel\Dumper\KrumoDebug.
 */

namespace Drupal\loopit_krumo\Plugin\Devel\Dumper;


use Drupal\devel\Plugin\Devel\Dumper\DoctrineDebug;
//use Drupal\devel\Plugin\Devel\Dumper\VarDumper;
use Drupal\loopit\Aggregate\AggregateObject;

/**
 * Provides a LoopitDebug dumper plugin.
 *
 * @DevelDumper(
 *   id = "krumo_debug",
 *   label = @Translation("Loopit Krumo Debug"),
 *   description = @Translation("Krumo debug for Loopit.")
 * )
 */
class KrumoDebug extends DoctrineDebug {

  /**
   * {@inheritdoc}
   */
  public function export($input, $name = NULL) {
    $name = $name ? $name . ' t=> ' : '';

    // TODO: put in settings
    \krumo::$skin = 'default';
    ob_start();
    krumo($input);
    $dump = ob_get_contents();
    ob_end_clean();

    $dump = $name . $dump;
    return $this->setSafeMarkup($dump);
  }

  /**
   * {@inheritdoc}
   *
   * Add cast to variables
   */
  public function exportAsRenderable($input, $name = NULL) {

    $output['container'] = [
      '#type' => 'details',
      '#title' => $name ? : $this->t('Variable'),
      '#attached' => [
        'library' => ['devel/devel']
      ],
      '#attributes' => [
        'class' => ['container-inline', 'devel-dumper', 'devel-selectable'],
      ],
      'export' => [
        // Here use caster because not called every where but especially in
        // devel routes.
        '#markup' => $this->export(AggregateObject::castFast($input)),
      ],
    ];

    return $output;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc