public function run($args = null) { global $argv; if ($args === null) { $args = $argv; $args[0] = $this->name; } if ($this->root->run($args)) { return; } foreach ($this->contexts as $context) { if ($context['instance']->run($args)) { return; } } $this->dispatcher->dispatch(self::EVENT_INVALID_USAGE, new InvalidUsageEvent($args, $this->root->getOptionDefinitions())); }
public function showHelpPage(Context $context) { // Description echo "\n[1m" . ($context->getDescription() ?: $context->getName()) . "[0m\n\n"; // Usage if (count($context->getUsageDefinitions()) > 0) { echo "[33mUsage:[0m\n"; foreach (array_keys($context->getUsageDefinitions()) as $usage) { echo " {$usage}\n"; } echo "\n"; } // Command Options if ($context !== $this->application->getRootContext()) { $this->displayOptionsHelp("[33mCommand Options:[0m", $context->getOptionDefinitions()); } // Sub Commands $this->displaySubCommandHelp($context); // Global Options $this->displayOptionsHelp("[33mGlobal Options:[0m", $this->application->getRootContext()->getOptionDefinitions()); }