Mercurial > hg > isophonics-drupal-site
view vendor/consolidation/annotated-command/src/Hooks/Dispatchers/InitializeHookDispatcher.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
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); } } }