Mercurial > hg > isophonics-drupal-site
view vendor/consolidation/annotated-command/src/Hooks/Dispatchers/InitializeHookDispatcher.php @ 19:fa3358dc1485 tip
Add ndrum files
author | Chris Cannam |
---|---|
date | Wed, 28 Aug 2019 13:14:47 +0100 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line source
<?php namespace Consolidation\AnnotatedCommand\Hooks\Dispatchers; use Consolidation\AnnotatedCommand\Hooks\HookManager; use Consolidation\AnnotatedCommand\AnnotationData; use Consolidation\AnnotatedCommand\Hooks\InitializeHookInterface; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; /** * Call hooks */ class InitializeHookDispatcher extends HookDispatcher implements InitializeHookInterface { public function initialize( InputInterface $input, AnnotationData $annotationData ) { $hooks = [ HookManager::PRE_INITIALIZE, HookManager::INITIALIZE, HookManager::POST_INITIALIZE ]; $providers = $this->getHooks($hooks, $annotationData); foreach ($providers as $provider) { $this->callInitializeHook($provider, $input, $annotationData); } } protected function callInitializeHook($provider, $input, AnnotationData $annotationData) { if ($provider instanceof InitializeHookInterface) { return $provider->initialize($input, $annotationData); } if (is_callable($provider)) { return $provider($input, $annotationData); } } }