Beispiel #1
0
{
    ezcBase::autoload($className);
}
$optionHandler = new ezcConsoleInput();
// Register simple parameter -h/--help
$optionHandler->registerOption(new ezcConsoleOption('h', 'help'));
// Register complex parameter -f/--file
$file = new ezcConsoleOption('f', 'file', ezcConsoleInput::TYPE_STRING, null, false, 'Process a file.', 'Processes a single file.');
$optionHandler->registerOption($file);
// Manipulate parameter -f/--file after registration
$file->multiple = true;
// Register another complex parameter that depends on -f and excludes -h
$dir = new ezcConsoleOption('d', 'dir', ezcConsoleInput::TYPE_STRING, null, true, 'Process a directory.', 'Processes a complete directory.', array(new ezcConsoleOptionRule($optionHandler->getOption('f'))), array(new ezcConsoleOptionRule($optionHandler->getOption('h'))));
$optionHandler->registerOption($dir);
// Register an alias for this parameter
$optionHandler->registerAlias('e', 'extended-dir', $dir);
// Process registered parameters and handle errors
try {
    $optionHandler->process(array('example_input.php', '-h'));
} catch (ezcConsoleOptionException $e) {
    echo $e->getMessage();
    exit(1);
}
// Process a single parameter
$file = $optionHandler->getOption('f');
if ($file->value === false) {
    echo "Parameter -{$file->short}/--{$file->long} was not submitted.\n";
} elseif ($file->value === true) {
    echo "Parameter -{$file->short}/--{$file->long} was submitted without value.\n";
} else {
    echo "Parameter -{$file->short}/--{$file->long} was submitted with value <" . var_export($file->value, true) . ">.\n";