<?php

error_reporting(-1);
require_once __DIR__ . '/vendor/autoload.php';
$args = new cli\Arguments(array('flags' => array('verbose' => array('description' => 'Turn on verbose mode', 'aliases' => array('v')), 'c' => array('description' => 'A counter to test stackable', 'stackable' => true)), 'options' => array('user' => array('description' => 'Username for authentication', 'aliases' => array('u'))), 'strict' => true));
try {
    $args->parse();
} catch (cli\InvalidArguments $e) {
    echo $e->getMessage() . "\n\n";
}
print_r($args->getArguments());
<?php

/**
 * Sample invocations:
 *
 *     # php example_args.php -vC ./ --version
 *     {"verbose":true,"cache":".\/","version":true}
 *     # php example_args.php -vC --version
 *     PHP Warning:  [cli\Arguments] no value given for -C
 *     # php example_args.php -vC multi word --version
 *     {"verbose":true,"cache":"multi word","version":true}
 *
 */
require 'common.php';
$strict = in_array('--strict', $_SERVER['argv']);
$arguments = new \cli\Arguments(compact('strict'));
$arguments->addFlag(array('verbose', 'v'), 'Turn on verbose output');
$arguments->addFlag('version', 'Display the version');
$arguments->addFlag(array('quiet', 'q'), 'Disable all output');
$arguments->addFlag(array('help', 'h'), 'Show this help screen');
$arguments->addOption(array('cache', 'C'), array('default' => getcwd(), 'description' => 'Set the cache directory'));
$arguments->addOption(array('name', 'n'), array('default' => 'James', 'description' => 'Set a name with a really long description and a default so we can see what line wrapping looks like which is probably a goo idea'));
$arguments->parse();
if ($arguments['help']) {
    echo $arguments->getHelpScreen();
    echo "\n\n";
}
echo $arguments->asJSON() . "\n";
Beispiel #3
0
 /**
  * Retrieve arguments from global to prepare them for further use.
  *
  * @param CommandEvent $event The Composer event fired to retrieve arguments from
  *
  * @author Benjamin Carl <*****@*****.**>
  * @return boolean|null TRUE on success, otherwise FALSE
  * @access protected
  * @static
  */
 protected static function initArguments(CommandEvent $event = null)
 {
     // Check for retrieving arguments from Composer event ...
     if ($event !== null) {
         $arguments = $event->getArguments();
     } else {
         $arguments = $_SERVER['argv'];
     }
     // Check for strict mode
     $strict = in_array('--strict', $arguments);
     $arguments = new \cli\Arguments(compact('strict'), $arguments);
     $arguments->addFlag(array('verbose', 'v'), 'Turn on verbose output');
     $arguments->addFlag(array('version', 'V'), 'Display the version');
     $arguments->addFlag(array('quiet', 'q'), 'Disable all output');
     $arguments->addFlag(array('help', 'h'), 'Show this help screen');
     // Parse the arguments
     $arguments->parse();
     // Store arguments ...
     self::$arguments = $arguments;
     if (isset(self::$arguments['help']) === true) {
         self::showHelp();
     }
 }