Horde_Cli_Modular::createParser PHP Method

createParser() public method

Create the parser for command line arguments.
public createParser ( ) : Horde_Argv_Parser
return Horde_Argv_Parser The parser.
    public function createParser()
    {
        $parser_class = $this->getParserClass();
        $parser = new $parser_class(array('usage' => '%prog ' . $this->getUsage()));
        foreach ($this->getModules() as $module_name) {
            $module = $this->getProvider()->getModule($module_name);
            foreach ($module->getBaseOptions() as $option) {
                $parser->addOption($option);
            }
            if ($module->hasOptionGroup()) {
                $group = new Horde_Argv_OptionGroup($parser, $module->getOptionGroupTitle(), $module->getOptionGroupDescription());
                foreach ($module->getOptionGroupOptions() as $option) {
                    $group->addOption($option);
                }
                $parser->addOptionGroup($group);
            }
        }
        return $parser;
    }

Usage Example

示例#1
0
 public function testParser()
 {
     $modular = new Horde_Cli_Modular(array('modules' => array('directory' => __DIR__ . '/../Stub/Module'), 'provider' => array('prefix' => 'Horde_Cli_Modular_Stub_Module_')));
     $this->assertInstanceOf('Horde_Argv_Parser', $modular->createParser());
 }