Class Horde_Argv_Parser
Class attributes: standardOptionList : [Option] list of standard options that will be accepted by all instances of this parser class (intended to be overridden by subclasses).
Instance attributes: usage : string a usage string for your program. Before it is displayed to the user, "%prog" will be expanded to the name of your program ($this->prog or os.path.basename(sys.argv[0])). prog : string the name of the current program (to override os.path.basename(sys.argv[0])). epilog : string paragraph of help text to print after option help optionGroups : [OptionGroup] list of option groups in this parser (option groups are irrelevant for parsing the command-line, but very useful for generating help) allowInterspersedArgs : bool = true if true, positional arguments may be interspersed with options. Assuming -a and -b each take a single argument, the command-line -ablah foo bar -bboo baz will be interpreted the same as -ablah -bboo -- foo bar baz If this flag were false, that command line would be interpreted as -ablah -- foo bar -bboo baz -- ie. we stop processing options as soon as we see the first non-option argument. (This is the tradition followed by Python's getopt module, Perl's Getopt::Std, and other argument- parsing libraries, but it is generally annoying to users.) allowUnknownArgs : bool = false if true, unrecognized arguments will be auto-created, instead of throwing a BadOptionException. ignoreUnknownArgs : bool = false if true, unrecognized arguments will be silently skipped, instead of throwing a BadOptionException. rargs : [string] the argument list currently being parsed. Only set when parseArgs() is active, and continually trimmed down as we consume arguments. Mainly there for the benefit of callback options. largs : [string] the list of leftover arguments that we have skipped while parsing options. If allowInterspersedArgs is false, this list is always empty. values : Values the set of option values currently being accumulated. Only set when parseArgs() is active. Also mainly for callbacks.
- Horde_Argv_OptionContainer
- Horde_Argv_Parser
public
|
#
__construct( mixed $args = array() )
Initialize the option list and related data structures. This method must be provided by subclasses, and it must initialize at least the following instance attributes: optionList, shortOpt, longOpt, defaults. |
public
|
#
__destruct( )
Declare that you are done with this Horde_Argv_Parser. This cleans up reference cycles so the Horde_Argv_Parser (and all objects referenced by it) can be garbage-collected promptly. After calling destroy(), the Horde_Argv_Parser is unusable. |
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
#
parseArgs( mixed $args = null, mixed $values = null )
Parse the command-line options found in 'args' (default: sys.argv[1:]). Any errors result in a call to 'parserError()', which by default prints the usage message to stderr and calls exit() with an error message. On success returns a pair (values, args) where 'values' is an Values instance (with all your option values) and 'args' is the list of arguments left over after parsing options. |
public
|
#
checkValues( mixed $values, mixed $args )
Check that the supplied option values and leftover arguments are valid. Returns the option values and leftover arguments (possibly adjusted, possibly completely new -- whatever you like). Default implementation just returns the passed-in values; subclasses may override as desired. |
public static
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
#
parserError( string $msg )
Print a usage message incorporating $msg to stderr and exit. If you override this in a subclass, it should not return -- it should either exit or raise an exception. |
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
addOption(),
addOptions(),
formatDescription(),
getOption(),
hasOption(),
removeOption(),
setConflictHandler(),
setDescription()
|
public
array
|
$standardOptionList
|
#
array()
|
public
array
|
$optionGroups
|
#
array()
|
$conflictHandler,
$defaults,
$description,
$longOpt,
$optionClass,
$optionList,
$shortOpt
|