PHP Класс 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();
}
}
Показать файл
Открыть проект
Примеры использования класса
Открытые свойства
Открытые методы
Описание методов
__construct()
публичный Метод
* for the constructor , the option specs is application options
public __construct ( OptionCollection $specs ) |
$specs |
OptionCollection |
|
advance()
публичный Метод
Return the current argument and advance to the next position.
continueParse()
публичный Метод
getCurrentArgument()
публичный Метод
Return the current argument that the index pointed to.
startFrom()
публичный Метод
Описание свойств
$index публичное свойство
$length публичное свойство