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();
}
}
ファイルを表示
Open project: c9s/getoptionkit
Class Usage Examples
Public Properties
Public Methods
Method Details
__construct()
public method
* for the constructor , the option specs is application options
public __construct ( OptionCollection $specs ) |
$specs |
OptionCollection |
|
Return the current argument and advance to the next position.
continueParse()
public method
getCurrentArgument()
public method
Return the current argument that the index pointed to.
startFrom()
public method
Property Details
$index public_oe property
$length public_oe property