Example #1
0
 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" . ($context->getDescription() ?: $context->getName()) . "\n\n";
     // Usage
     if (count($context->getUsageDefinitions()) > 0) {
         echo "Usage:\n";
         foreach (array_keys($context->getUsageDefinitions()) as $usage) {
             echo "  {$usage}\n";
         }
         echo "\n";
     }
     // Command Options
     if ($context !== $this->application->getRootContext()) {
         $this->displayOptionsHelp("Command Options:", $context->getOptionDefinitions());
     }
     // Sub Commands
     $this->displaySubCommandHelp($context);
     // Global Options
     $this->displayOptionsHelp("Global Options:", $this->application->getRootContext()->getOptionDefinitions());
 }