Esempio n. 1
0
 function testFlagVarByReference()
 {
     $bar = null;
     $baz = null;
     $obj = new \StdClass();
     $obj->foo = "";
     $parser = new Parser();
     $parser->addFlag('foo', array('var' => &$foo));
     $parser->addFlagVar("bar", $bar);
     $parser->addFlagVar("baz", $baz, array("default" => "foo"));
     $parser->addFlagVar("bab", $obj->foo);
     $parser->parse(array("--foo", "--bar", "--bab"));
     $this->assertTrue($foo);
     $this->assertTrue($bar);
     $this->assertTrue($obj->foo);
     $this->assertEquals("foo", $baz);
 }
Esempio n. 2
0
<?php

require __DIR__ . "/../vendor/autoload.php";
use CHH\Optparse;
$parser = new Optparse\Parser("Says Hello", "hello");
function usage_and_exit()
{
    global $parser;
    fwrite(STDERR, "{$parser->longUsage()}\n");
    exit(1);
}
$parser->addFlag("help", array("alias" => "-h", "help" => "Displays this help message"), "usage_and_exit");
$parser->addFlag("shout", array("alias" => "-S", "default" => false, "help" => "Prints in uppercase letters"));
$parser->addArgument("name", array("required" => true, "help" => "The subject's name"));
try {
    $parser->parse();
} catch (Optparse\Exception $e) {
    fwrite(STDERR, "{$e->getMessage()}\n\n");
    usage_and_exit();
}
$msg = "Hello {$parser["name"]}!";
if ($parser["shout"]) {
    $msg = strtoupper($msg);
}
echo "{$msg}\n";
Esempio n. 3
0
<?php

require __DIR__ . "/../vendor/autoload.php";
use CHH\Optparse;
$opts = new Optparse\Parser();
$opts->addFlag("help", array("alias" => "-h"), function () use($opts) {
    echo "{$opts->usage()}\n";
    exit(0);
});
$opts->addArgument("files", array("var_arg" => true, "required" => true));
try {
    $opts->parse();
} catch (Optparse\Exception $e) {
    fwrite(STDERR, "{$e->getMessage()}\n\n");
    fwrite(STDERR, "{$opts->usage()}\n");
    exit(1);
}
foreach ($opts["files"] as $file) {
    readfile($file);
    echo "\n";
}