<?php require dirname(__FILE__) . '/../lib/OptionParser.php'; $debug = false; function enable_debugging() { global $debug; $debug = true; } $parser = new OptionParser(); $parser->addHead("Copies the contents of one file (or stream) to another.\n"); $parser->addHead("Usage: " . basename($argv[0]) . " -i <input> [ options ]\n"); $parser->addRule('d|debug', 'enable_debugging', "Enable debug mode"); $parser->addRule('i|input::', 'The input file to read, use "-" for stdin'); $parser->addRule('o|output:', '(optional) The output file to write to, defaults to stdout'); $parser->addRule('help', 'Display a help message and exit'); $parser->addTail("\nThis program brought to you by me!\n"); try { $parser->parse(); } catch (Exception $e) { die($parser->getUsage()); } if ($parser->help) { die($parser->getUsage()); } if (!isset($parser->input)) { die("You must specify an input file!\n"); } if ($parser->input == '-') { $input = 'php://stdin'; } else {
<?php require dirname(__FILE__) . '/../lib/OptionParser.php'; $parser = new OptionParser(); $parser->addHead("Echo the parameters of each flag as determined by OptionParser.\n"); $parser->addHead("Usage: " . basename($argv[0]) . " [ options ]\n"); $parser->addRule('a', "A short flag with no parameter"); $parser->addRule('b:', "A short flag with an optional parameter"); $parser->addRule('c::', "A short flag with a required parameter"); $parser->addRule('long-a', "A long flag with no parameter"); $parser->addRule('long-b:', "A long flag with an optional parameter"); $parser->addRule('long-c::', "A long flag with a required parameter"); $args = $argv; try { $parser->parse($args); } catch (Exception $e) { die($parser->getUsage()); } $flagNames = explode(' ', 'a b c long-a long-b long-c'); echo "Parsed arguments:\n"; foreach ($flagNames as $flag) { $param = var_export($parser->getOption($flag), true); echo sprintf(' %6s %s', $flag, $param) . "\n"; } echo "\nRemaining arguments: " . implode(' ', $args) . "\n";