8000 Updated the style of the event commands · wouterj/symfony@6633cac · GitHub
[go: up one dir, main page]

Skip to content

Commit 6633cac

Browse files
javiereguiluzfabpot
authored andcommitted
Updated the style of the event commands
1 parent 112c66c commit 6633cac

File tree

4 files changed

+45
-64
lines changed

4 files changed

+45
-64
lines changed

src/Symfony/Bundle/FrameworkBundle/Command/EventDispatcherDebugCommand.php

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
use Symfony\Component\Console\Input\InputOption;
1717
use Symfony\Component\Console\Input\InputInterface;
1818
use Symfony\Component\Console\Output\OutputInterface;
19+
use Symfony\Component\Console\Style\SymfonyStyle;
1920
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
2021

2122
/**
@@ -58,31 +59,24 @@ protected function configure()
5859
*/
5960
protected function execute(InputInterface $input, OutputInterface $output)
6061
{
62+
$output = new SymfonyStyle($input, $output);
6163
$dispatcher = $this->getEventDispatcher();
6264

65+
$options = array();
6366
if ($event = $input->getArgument('event')) {
6467
if (!$dispatcher->hasListeners($event)) {
65-
$formatter = $this->getHelperSet()->get('formatter');
66-
67-
$formattedBlock = $formatter->formatBlock(
68-
sprintf('[NOTE] The event "%s" does not have any registered listeners.', $event),
69-
'fg=yellow',
70-
true
71-
);
72-
73-
$output->writeln($formattedBlock);
68+
$output->warning(sprintf('The event "%s" does not have any registered listeners.', $event));
7469

7570
return;
7671
}
7772

7873
$options = array('event' => $event);
79-
} else {
80-
$options = array();
8174
}
8275

8376
$helper = new DescriptorHelper();
8477
$options['format'] = $input->getOption('format');
8578
$options['raw_text'] = $input->getOption('raw');
79+
$options['output'] = $output;
8680
$helper->describe($output, $dispatcher, $options);
8781
}
8882

src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php

Lines changed: 13 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace Symfony\Bundle\FrameworkBundle\Console\Descriptor;
1313

1414
use Symfony\Component\Console\Helper\Table;
15+
use Symfony\Component\Console\Style\SymfonyStyle;
1516
use Symfony\Component\DependencyInjection\Alias;
1617
use Symfony\Component\DependencyInjection\ContainerBuilder;
1718
use Symfony\Component\DependencyInjection\Definition;
@@ -349,42 +350,23 @@ protected function describeEventDispatcherListeners(EventDispatcherInterface $ev
349350
{
350351
$event = array_key_exists('event', $options) ? $options['event'] : null;
351352

352-
$label = 'Registered listeners';
353353
if (null !== $event) {
354-
$label .= sprintf(' for event <info>%s</info>', $event);
354+
$title = sprintf('Registered Listeners for "%s" Event', $event);
355355
} else {
356-
$label .= ' by event';
356+
$title = 'Registered Listeners Grouped by Event';
357357
}
358358

359-
$this->writeText($this->formatSection('event_dispatcher', $label)."\n", $options);
359+
$options['output']->title($title);
360360

361-
$registeredListeners = $eventDispatcher->getListeners($event);
361+
$registeredListeners = $eventDispatcher->getListeners($event, true);
362362

363363
if (null !== $event) {
364-
$this->writeText("\n");
365-
$table = new Table($this->getOutput());
366-
$table->getStyle()->setCellHeaderFormat('%s');
367-
$table->setHeaders(array('Order', 'Callable'));
368-
369-
foreach ($registeredListeners as $order => $listener) {
370-
$table->addRow(array(sprintf('#%d', $order + 1), $this->formatCallable($listener)));
371-
}
372-
373-
$table->render();
364+
$this->renderEventListenerTable($registeredListeners, $options['output']);
374365
} else {
375366
ksort($registeredListeners);
376367
foreach ($registeredListeners as $eventListened => $eventListeners) {
377-
$this->writeText(sprintf("\n<info>[Event]</info> %s\n", $eventListened), $options);
378-
379-
$table = new Table($this->getOutput());
380-
$table->getStyle()->setCellHeaderFormat('%s');
381-
$table->setHeaders(array('Order', 'Callable'));
382-
383-
foreach ($eventListeners as $order => $eventListener) {
384-
$table->addRow(array(sprintf('#%d', $order + 1), $this->formatCallable($eventListener)));
385-
}
386-
387-
$table->render();
368+
$options['output']->section(sprintf('"%s" event', $eventListened));
369+
$this->renderEventListenerTable($eventListeners, $options['output']);
388370
}
389371
}
390372
}
@@ -400,21 +382,20 @@ protected function describeCallable($callable, array $options = array())
400382
/**
401383
* @param array $array
402384
*/
403-
private function renderEventListenerTable(array $eventListeners)
385+
private function renderEventListenerTable(array $eventListeners, SymfonyStyle $renderer)
404386
{
405-
$table = new Table($this->getOutput());
406-
$table->getStyle()->setCellHeaderFormat('%s');
407-
$table->setHeaders(array('Order', 'Callable', 'Priority'));
387+
$tableHeaders = array('Order', 'Callable', 'Priority');
388+
$tableRows = array();
408389

409390
krsort($eventListeners);
410391
$order = 1;
411392
foreach ($eventListeners as $priority => $listeners) {
412393
foreach ($listeners as $listener) {
413-
$table->addRow(array(sprintf('#%d', $order++), $this->formatCallable($listener), $priority));
394+
$tableRows[] = array(sprintf('#%d', $order++), $this->formatCallable($listener), $priority);
414395
}
415396
}
416397

417-
$table->render();
398+
$renderer->table($tableHeaders, $tableRows);
418399
}
419400

420401
/**
Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
<info>[event_dispatcher]</info> Registered listeners for event <info>event1</info>
1+
Registered Listeners for "event1" Event
2+
=======================================
23

3-
+-------+-------------------+
4-
| Order | Callable |
5-
+-------+-------------------+
6-
| #1 | global_function() |
7-
| #2 | \Closure() |
8-
+-------+-------------------+
4+
------- ------------------- ----------
5+
Order Callable Priority
6+
------- ------------------- ----------
7+
#1 global_function() 255
8+
#2 \Closure() -1
9+
------- ------------------- ----------
Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,21 @@
1-
<info>[event_dispatcher]</info> Registered listeners by event
1+
Registered Listeners Grouped by Event
2+
=====================================
23

3-
<info>[Event]</info> event1
4-
+-------+-------------------+
5-
| Order | Callable |
6-
+-------+-------------------+
7-
| #1 | global_function() |
8-
| #2 | \Closure() |
9-
+-------+-------------------+
4+
"event1" event
5+
--------------
106

11-
<info>[Event]</info> event2
12-
+-------+-----------------------------------------------------------------------------------+
13-
| Order | Callable |
14-
+-------+-----------------------------------------------------------------------------------+
15-
| #1 | Symfony\Bundle\FrameworkBundle\Tests\Console\Descriptor\CallableClass::__invoke() |
16-
+-------+-----------------------------------------------------------------------------------+
7+
------- ------------------- ----------
8+
Order Callable Priority
9+
------- ------------------- ----------
10+
#1 global_function() 255
11+
#2 \Closure() -1
12+
------- ------------------- ----------
13+
14+
"event2" event
15+
--------------
16+
17+
------- ----------------------------------------------------------------------------------- ----------
18+
Order Callable Priority
19+
------- ----------------------------------------------------------------------------------- ----------
20+
#1 Symfony\Bundle\FrameworkBundle\Tests\Console\Descriptor\CallableClass::__invoke() 0
21+
------- ----------------------------------------------------------------------------------- ----------

0 commit comments

Comments
 (0)
0