/** * @inheritdoc */ public function init() { parent::init(); $this->input = $this->command->input; $this->output = $this->command->output; }
/** * @param string $event * @param TaskEvent $Event * @return bool */ private function dispatch($event, TaskEvent $Event) { $disable_events = (string) $this->input->getOption('disable-events'); if (in_array($disable_events, ['yes', 'force', 'always', 'true', '1'], true)) { return true; } if ($this->output->isVeryVerbose()) { $this->log(sprintf('<log> LOG </log> Dispatch event %s', $event), $Event->getIndent()); } Component::getEventDispatcher()->dispatch($event, $Event); if ($Event->isPropagationStopped()) { $this->log(sprintf('<error>Event %s: Propagation stopped.</error>', $event), $Event->getIndent()); return false; } return true; }
/** * @param array $config * @return array */ private function expandCompositeTasks(array $config) { if (!empty($config)) { foreach ($config as $task_name => $conf) { if (is_array($conf) && isset($conf['.task']) && !empty($conf['.task'])) { $className = is_array($conf['.task']) ? $conf['.task']['class'] : $conf['.task']; $params = is_array($conf['.task']) ? $conf['.task'] : []; unset($params['class']); $params['command'] = $this->command; /** @var AbstractCompositeTask $Task */ $Task = Component::createObject($className, $params); if ($Task instanceof AbstractCompositeTask) { $tasks = $Task->tasks(); if (!empty($tasks)) { $config[$task_name] = array_merge($conf, $tasks); } } } } } return $config; }