12
12
namespace Symfony \Bundle \FrameworkBundle \Console \Descriptor ;
13
13
14
14
use Symfony \Component \Console \Helper \Table ;
15
+ use Symfony \Component \Console \Style \SymfonyStyle ;
15
16
use Symfony \Component \DependencyInjection \Alias ;
16
17
use Symfony \Component \DependencyInjection \ContainerBuilder ;
17
18
use Symfony \Component \DependencyInjection \Definition ;
@@ -349,42 +350,23 @@ protected function describeEventDispatcherListeners(EventDispatcherInterface $ev
349
350
{
350
351
$ event = array_key_exists ('event ' , $ options ) ? $ options ['event ' ] : null ;
351
352
352
- $ label = 'Registered listeners ' ;
353
353
if (null !== $ event ) {
354
- $ label . = sprintf (' for event <info>%s</info> ' , $ event );
354
+ $ title = sprintf ('Registered Listeners for "%s" Event ' , $ event );
355
355
} else {
356
- $ label . = ' by event ' ;
356
+ $ title = 'Registered Listeners Grouped by Event ' ;
357
357
}
358
358
359
- $ this -> writeText ( $ this -> formatSection ( ' event_dispatcher ' , $ label ). "\n" , $ options );
359
+ $ options [ ' output ' ]-> title ( $ title );
360
360
361
- $ registeredListeners = $ eventDispatcher ->getListeners ($ event );
361
+ $ registeredListeners = $ eventDispatcher ->getListeners ($ event, true );
362
362
363
363
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 ' ]);
374
365
} else {
375
366
ksort ($ registeredListeners );
376
367
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 ' ]);
388
370
}
389
371
}
390
372
}
@@ -400,21 +382,20 @@ protected function describeCallable($callable, array $options = array())
400
382
/**
401
383
* @param array $array
402
384
*/
403
- private function renderEventListenerTable (array $ eventListeners )
385
+ private function renderEventListenerTable (array $ eventListeners, SymfonyStyle $ renderer )
404
386
{
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 ();
408
389
409
390
krsort ($ eventListeners );
410
391
$ order = 1 ;
411
392
foreach ($ eventListeners as $ priority => $ listeners ) {
412
393
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 );
414
395
}
415
396
}
416
397
417
- $ table -> render ( );
398
+ $ renderer -> table ( $ tableHeaders , $ tableRows );
418
399
}
419
400
420
401
/**
0 commit comments