GetOptionKit\ContinuousOptionParser::continueParse PHP Method

continueParse() public method

public continueParse ( )
    public function continueParse()
    {
        return $this->parse($this->argv);
    }

Usage Example

 public function testParser3()
 {
     $appspecs = new OptionCollection();
     $appspecs->add('v|verbose');
     $appspecs->add('c|color');
     $appspecs->add('d|debug');
     $cmdspecs = new OptionCollection();
     $cmdspecs->add('n|name:=string');
     $cmdspecs->add('p|phone:=string');
     $cmdspecs->add('a|address:=string');
     $subcommands = array('subcommand1', 'subcommand2', 'subcommand3');
     $subcommand_specs = array('subcommand1' => $cmdspecs, 'subcommand2' => $cmdspecs, 'subcommand3' => $cmdspecs);
     $subcommand_options = array();
     $arguments = array();
     $argv = explode(' ', 'program -v -d -c subcommand1 --name=c9s --phone=123123123 --address=somewhere arg1 arg2 arg3');
     $parser = new ContinuousOptionParser($appspecs);
     $app_options = $parser->parse($argv);
     while (!$parser->isEnd()) {
         if (@$subcommands[0] && $parser->getCurrentArgument() == $subcommands[0]) {
             $parser->advance();
             $subcommand = array_shift($subcommands);
             $parser->setSpecs($subcommand_specs[$subcommand]);
             $subcommand_options[$subcommand] = $parser->continueParse();
         } else {
             $arguments[] = $parser->advance();
         }
     }
     $this->assertCount(3, $arguments);
     $this->assertEquals('arg1', $arguments[0]);
     $this->assertEquals('arg2', $arguments[1]);
     $this->assertEquals('arg3', $arguments[2]);
     $this->assertNotNull($subcommand_options['subcommand1']);
     $this->assertEquals('c9s', $subcommand_options['subcommand1']->name);
     $this->assertEquals('123123123', $subcommand_options['subcommand1']->phone);
     $this->assertEquals('somewhere', $subcommand_options['subcommand1']->address);
 }
All Usage Examples Of GetOptionKit\ContinuousOptionParser::continueParse