5 * Contains \Drupal\Console\Core\EventSubscriber\ShowWelcomeMessageListener.
8 namespace Drupal\Console\Core\EventSubscriber;
10 use Symfony\Component\Console\ConsoleEvents;
11 use Symfony\Component\Console\Event\ConsoleCommandEvent;
12 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
13 use Symfony\Component\Console\Command\Command;
14 use Drupal\Console\Core\Utils\TranslatorManagerInterface;
15 use Drupal\Console\Core\Style\DrupalStyle;
18 * Class ShowWelcomeMessageListener
20 * @package Drupal\Console\Core\EventSubscriber
22 class ShowWelcomeMessageListener implements EventSubscriberInterface
25 * @var TranslatorManagerInterface
27 protected $translator;
30 * ShowWelcomeMessageListener constructor.
32 * @param TranslatorManagerInterface $translator
34 public function __construct(
35 TranslatorManagerInterface $translator
37 $this->translator = $translator;
41 * @param ConsoleCommandEvent $event
43 public function showWelcomeMessage(ConsoleCommandEvent $event)
45 /* @var Command $command */
46 $command = $event->getCommand();
48 /* @var DrupalStyle $io */
49 $io = new DrupalStyle($event->getInput(), $event->getOutput());
51 $welcomeMessageKey = 'commands.'.str_replace(':', '.', $command->getName()).'.welcome';
52 $welcomeMessage = $this->translator->trans($welcomeMessageKey);
54 if ($welcomeMessage != $welcomeMessageKey) {
55 $io->text($welcomeMessage);
62 public static function getSubscribedEvents()
64 return [ConsoleEvents::COMMAND => 'showWelcomeMessage'];