class CliDescriptor
Describe collected data clones for cli output.
@author Maxime Steinhausser <maxime.steinhausser@gmail.com>
@final
Hierarchy
- class \Symfony\Component\VarDumper\Command\Descriptor\CliDescriptor implements \Symfony\Component\VarDumper\Command\Descriptor\DumpDescriptorInterface
Expanded class hierarchy of CliDescriptor
1 file declares its use of CliDescriptor
- ServerDumpCommand.php in vendor/
symfony/ var-dumper/ Command/ ServerDumpCommand.php
File
-
vendor/
symfony/ var-dumper/ Command/ Descriptor/ CliDescriptor.php, line 27
Namespace
Symfony\Component\VarDumper\Command\DescriptorView source
class CliDescriptor implements DumpDescriptorInterface {
private mixed $lastIdentifier = null;
public function __construct(CliDumper $dumper) {
}
public function describe(OutputInterface $output, Data $data, array $context, int $clientId) : void {
$io = $output instanceof SymfonyStyle ? $output : new SymfonyStyle(new ArrayInput([]), $output);
$this->dumper
->setColors($output->isDecorated());
$rows = [
[
'date',
date('r', (int) $context['timestamp']),
],
];
$lastIdentifier = $this->lastIdentifier;
$this->lastIdentifier = $clientId;
$section = "Received from client #{$clientId}";
if (isset($context['request'])) {
$request = $context['request'];
$this->lastIdentifier = $request['identifier'];
$section = \sprintf('%s %s', $request['method'], $request['uri']);
if ($controller = $request['controller']) {
$rows[] = [
'controller',
rtrim($this->dumper
->dump($controller, true), "\n"),
];
}
}
elseif (isset($context['cli'])) {
$this->lastIdentifier = $context['cli']['identifier'];
$section = '$ ' . $context['cli']['command_line'];
}
if ($this->lastIdentifier !== $lastIdentifier) {
$io->section($section);
}
if (isset($context['source'])) {
$source = $context['source'];
$sourceInfo = \sprintf('%s on line %d', $source['name'], $source['line']);
if ($fileLink = $source['file_link'] ?? null) {
$sourceInfo = \sprintf('<href=%s>%s</>', $fileLink, $sourceInfo);
}
$rows[] = [
'source',
$sourceInfo,
];
$file = $source['file_relative'] ?? $source['file'];
$rows[] = [
'file',
$file,
];
}
$io->table([], $rows);
$this->dumper
->dump($data);
$io->newLine();
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title |
---|---|---|---|---|
CliDescriptor::$lastIdentifier | private | property | ||
CliDescriptor::describe | public | function | Overrides DumpDescriptorInterface::describe | |
CliDescriptor::__construct | public | function |