PHP Class GetOptionKit\ContinuousOptionParser

app.php [--app-options] [subcommand --subcommand-options] [subcommand --subcommand-options] [subcommand --subcommand-options] [arguments] ContinuousOptionParser is for the process flow: init app options, parse app options while not end if stop at command shift command parse command options else if stop at arguments shift arguments execute current command with the arguments. Example code: subcommand stack $subcommands = array('subcommand1','subcommand2','subcommand3'); different command has its own options $subcommand_specs = array( 'subcommand1' => $cmdspecs, 'subcommand2' => $cmdspecs, 'subcommand3' => $cmdspecs, ); for saved options $subcommand_options = array(); command arguments $arguments = array(); $argv = explode(' ','-v -d -c subcommand1 -a -b -c subcommand2 -c subcommand3 arg1 arg2 arg3'); parse application options first $parser = new ContinuousOptionParser( $appspecs ); $app_options = $parser->parse( $argv ); while( ! $parser->isEnd() ) { if( $parser->getCurrentArgument() == $subcommands[0] ) { $parser->advance(); $subcommand = array_shift( $subcommands ); $parser->setSpecs( $subcommand_specs[$subcommand] ); $subcommand_options[ $subcommand ] = $parser->continueParse(); } else { $arguments[] = $parser->advance(); } }
Inheritance: extends OptionParser
Show file Open project: c9s/getoptionkit Class Usage Examples

Public Properties

Property Type Description
$argv
$index
$length

Public Methods

Method Description
__construct ( OptionCollection $specs ) * for the constructor , the option specs is application options
advance ( ) : string Return the current argument and advance to the next position.
continueParse ( )
getCurrentArgument ( ) : string Return the current argument that the index pointed to.
isEnd ( )
parse ( array $argv )
startFrom ( $index )

Method Details

__construct() public method

* for the constructor , the option specs is application options
public __construct ( OptionCollection $specs )
$specs OptionCollection

advance() public method

Return the current argument and advance to the next position.
public advance ( ) : string
return string

continueParse() public method

public continueParse ( )

getCurrentArgument() public method

Return the current argument that the index pointed to.
public getCurrentArgument ( ) : string
return string

isEnd() public method

public isEnd ( )

parse() public method

public parse ( array $argv )
$argv array

startFrom() public method

public startFrom ( $index )

Property Details

$argv public property

public $argv

$index public property

public $index

$length public property

public $length