Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. HtmlDescriptor.php

function HtmlDescriptor::describe

Overrides DumpDescriptorInterface::describe

File

vendor/symfony/var-dumper/Command/Descriptor/HtmlDescriptor.php, line 34

Class

HtmlDescriptor
Describe collected data clones for html output.

Namespace

Symfony\Component\VarDumper\Command\Descriptor

Code

public function describe(OutputInterface $output, Data $data, array $context, int $clientId) : void {
    if (!$this->initialized) {
        $styles = file_get_contents(__DIR__ . '/../../Resources/css/htmlDescriptor.css');
        $scripts = file_get_contents(__DIR__ . '/../../Resources/js/htmlDescriptor.js');
        $output->writeln("<style>{$styles}</style><script>{$scripts}</script>");
        $this->initialized = true;
    }
    $title = '-';
    if (isset($context['request'])) {
        $request = $context['request'];
        $controller = "<span class='dumped-tag'>{$this->dumper->dump($request['controller'], true, [
            'maxDepth' => 0,
        ])}</span>";
        $title = \sprintf('<code>%s</code> <a href="%s">%s</a>', $request['method'], $uri = $request['uri'], $uri);
        $dedupIdentifier = $request['identifier'];
    }
    elseif (isset($context['cli'])) {
        $title = '<code>$ </code>' . $context['cli']['command_line'];
        $dedupIdentifier = $context['cli']['identifier'];
    }
    else {
        $dedupIdentifier = bin2hex(random_bytes(4));
    }
    $sourceDescription = '';
    if (isset($context['source'])) {
        $source = $context['source'];
        $projectDir = $source['project_dir'] ?? null;
        $sourceDescription = \sprintf('%s on line %d', $source['name'], $source['line']);
        if (isset($source['file_link'])) {
            $sourceDescription = \sprintf('<a href="%s">%s</a>', $source['file_link'], $sourceDescription);
        }
    }
    $isoDate = $this->extractDate($context, 'c');
    $tags = array_filter([
        'controller' => $controller ?? null,
        'project dir' => $projectDir ?? null,
    ]);
    $output->writeln(<<<HTML
<article data-dedup-id="{<span class="php-variable">$dedupIdentifier</span>}">
    <header>
        <div class="row">
            <h2 class="col">{<span class="php-variable">$title</span>}</h2>
            <time class="col text-small" title="{<span class="php-variable">$isoDate</span>}" datetime="{<span class="php-variable">$isoDate</span>}">
                {<span class="php-variable">$this</span>-&gt;<span class="php-function-or-constant function member-of-self">extractDate</span>(<span class="php-variable">$context</span>)}
            </time>
        </div>
        {<span class="php-variable">$this</span>-&gt;<span class="php-function-or-constant function member-of-self">renderTags</span>(<span class="php-variable">$tags</span>)}
    </header>
    <section class="body">
        <p class="text-small">
            {<span class="php-variable">$sourceDescription</span>}
        </p>
        {<span class="php-variable">$this</span>-&gt;<span class="php-function-or-constant property member-of-self">dumper</span>
        -&gt;<span class="php-function-or-constant function member-of-variable">dump</span>(<span class="php-variable">$data</span>, <span class="php-function-or-constant">true</span>)}
    </section>
</article>
HTML
);
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal