c89fd5c45aa911e03b6a361a48da964b13397332
[yaffs-website] / vendor / consolidation / annotated-command / src / Hooks / Dispatchers / CommandEventHookDispatcher.php
1 <?php
2
3 namespace Consolidation\AnnotatedCommand\Hooks\Dispatchers;
4
5 use Consolidation\AnnotatedCommand\Hooks\HookManager;
6 use Symfony\Component\Console\Command\Command;
7 use Symfony\Component\Console\ConsoleEvents;
8 use Symfony\Component\Console\Event\ConsoleCommandEvent;
9 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
10
11 /**
12  * Call hooks
13  */
14 class CommandEventHookDispatcher extends HookDispatcher
15 {
16     /**
17      * @param ConsoleCommandEvent $event
18      */
19     public function callCommandEventHooks(ConsoleCommandEvent $event)
20     {
21         $hooks = [
22             HookManager::PRE_COMMAND_EVENT,
23             HookManager::COMMAND_EVENT,
24             HookManager::POST_COMMAND_EVENT
25         ];
26         $commandEventHooks = $this->getHooks($hooks);
27         foreach ($commandEventHooks as $commandEvent) {
28             if (is_callable($commandEvent)) {
29                 $commandEvent($event);
30             }
31         }
32     }
33 }