/** * Process command * * @return string */ public function process() { try { $this->command = $this->parser->parse(); if (empty($this->command->command_name)) { $this->parser->displayUsage(); self::end(0); } $return = $this->controller->execute($this->command->command_name, $this->command->command->options, $this->command->command->args, $this->color, $this->logger, $this->tasks); } catch (ShellException $se) { $this->parser->displayError($this->color->convert("\n\n%R" . $se->getMessage() . "%n\n")); self::end(1); } catch (Exception $e) { $this->parser->displayError($this->color->convert("\n\n%r" . $e->getMessage() . "%n\n")); self::end(1); } echo "\n" . $return . "\n\n"; self::end(0); }
public static function load(Console_CommandLine $parser, Logger $logger) { $controller = new Controller($parser, $logger); if (defined("EXTENDER_COMMANDS_CONFIG") && is_readable(EXTENDER_COMMANDS_CONFIG)) { $commands = Spyc::YAMLLoad(EXTENDER_COMMANDS_CONFIG); foreach ($commands as $command => $parameters) { $controller->add($command, $parameters["data"]); } } return $controller; }