Example #1
0
 /**
  * Prints out the usage message to the user.
  * @return void
  */
 public function usage()
 {
     $requiredArguments = $this->filter->required();
     $optionalArguments = $this->filter->optional();
     $allArguments = array_merge($requiredArguments, $optionalArguments);
     $command = $this->parser->getCommand();
     $args = array();
     $num_required = count($requiredArguments);
     $num_optional = count($optionalArguments);
     echo "Usage: " . $command . " ";
     foreach ($allArguments as $argument) {
         /** @var Argument $argument */
         $args[] = '[' . $argument->usageInfo() . ']';
     }
     $args = implode(' ', $args);
     echo $args . "\n\n";
     if ($num_required) {
         echo "Required Arguments:\n";
         foreach ($requiredArguments as $argument) {
             echo $argument->usageLine();
         }
     }
     if ($num_required && $num_optional) {
         echo "\n";
     }
     if ($num_optional) {
         echo "Optional Arguments:\n";
         foreach ($optionalArguments as $argument) {
             echo $argument->usageLine();
         }
     }
     echo "\n";
 }