Zend_Console_GetoptZend_Console_Getopt is a class to parse options for command-line applications.
Terminology: Argument: an element of the argv array. This may be part of an option, or it may be a non-option command-line argument. Flag: the letter or word set off by a '-' or '--'. Example: in '--output filename', '--output' is the flag. Parameter: the additional argument that is associated with the option. Example: in '--output filename', the 'filename' is the parameter. Option: the combination of a flag and its parameter, if any. Example: in '--output filename', the whole thing is the option.
The following features are supported:
Examples:
The simpler format for specifying options used by PHP's getopt() function is also supported. This is similar to GNU getopt and shell getopt format.
Example: 'abc:' means options '-a', '-b', and '-c' are legal, and the latter requires a string parameter.
Located in /Zend/Console/Getopt.php (line 130)
Zend_Console_Getopt
__construct
(array $rules, [array $argv = NULL], [array $getoptConfig = array()])
mixed
$_argv
= array() (line 176)
Stores the command-line arguments for the calling applicaion.
mixed
$_getoptConfig
= array(
Defaults for getopt configuration are: ruleMode is 'zend' format, dashDash (--) token is enabled, ignoreCase is not enabled.
mixed
$_options
= array() (line 197)
Stores options given by the user in the current invocation of the application, as well as parameters given in options.
mixed
$_parsed
= false (line 207)
State of the options: parsed or not yet parsed?
mixed
$_progname
= '' (line 181)
Stores the name of the calling applicaion.
mixed
$_remainingArgs
= array() (line 202)
Stores the command-line arguments other than options.
mixed
$_ruleMap
= array() (line 191)
Stores alternate spellings of legal options.
mixed
$_rules
= array() (line 186)
Stores the list of legal options for this application.
Constructor __construct (line 227)
The constructor takes one to three parameters.
The first parameter is $rules, which may be a string for gnu-style format, or a structured array for Zend-style format.
The second parameter is $argv, and it is optional. If not specified, $argv is inferred from the global argv.
The third parameter is an array of configuration parameters to control the behavior of this instance of Getopt; it is optional.
addArguments (line 308)
Define additional command-line arguments.
These are appended to those defined when the constructor was called.
addRules (line 365)
Define additional option rules.
These are appended to the rules defined when the constructor was called.
addRulesModeGnu (line 807)
Define legal options using the gnu-style format.
addRulesModeZend (line 841)
Define legal options using the Zend-style format.
checkParameterType (line 761)
Return true if the parameter is in a valid format for the option $flag.
Throw an exception in most other cases.
getOption (line 512)
Return the state of the option seen on the command line of the current application invocation.
This function returns true, or the parameter value to the option, if any. If the option was not given, this function returns false.
getOptions (line 493)
Return a list of options that have been seen in the current argv.
getRemainingArgs (line 533)
Return the arguments from the command-line following all options found.
getUsageMessage (line 550)
Return a useful option reference, formatted for display in an error message.
Note that this usage information is provided in most Exceptions generated by this class.
parse (line 649)
Parse command-line arguments and find both long and short options.
Also find option parameters, and remaining arguments after all options have been parsed.
parseLongOption (line 681)
Parse command-line arguments for a single long option.
A long option is preceded by a double '--' character. Long options may not be clustered.
parseShortOptionCluster (line 701)
Parse command-line arguments for short options.
Short options are those preceded by a single '-' character. Short options may be clustered.
parseSingleOption (line 716)
Parse command-line arguments for a single option.
setAliases (line 602)
Define aliases for options.
The parameter $aliasMap is an associative array mapping option name (short or long) to an alias.
setArguments (line 320)
Define full set of command-line arguments.
These replace any currently defined.
setHelp (line 631)
Define help messages for options.
The parameter $help_map is an associative array mapping option name (short or long) to the help string.
setOption (line 350)
Define one configuration option as a key/value pair.
These are not program options, but properties to configure the behavior of Zend_Console_Getopt.
setOptions (line 333)
Define multiple configuration options from an associative array.
These are not program options, but properties to configure the behavior of Zend_Console_Getopt.
toArray (line 419)
Return the current set of options and parameters seen as an array of canonical options and parameters.
Clusters have been expanded, and option aliases have been mapped to their primary option names.
toJson (line 440)
Return the current set of options and parameters seen in Json format.
toString (line 397)
Return the current set of options and parameters seen as a string.
toXml (line 467)
Return the current set of options and parameters seen in XML format.
__get (line 252)
Return the state of the option seen on the command line of the current application invocation. This function returns true, or the parameter to the option, if any. If the option was not given, this function returns NULL.
The magic __get method works in the context of naming the option as a virtual member of this class.
__isset (line 263)
Test whether a given option has been seen.
__set (line 277)
Set the value for a given option.
__toString (line 287)
Return the current set of options and parameters seen as a string.
__unset (line 297)
Unset an option.
CONFIG_DASHDASH
= 'dashDash'
(line 158)
CONFIG_IGNORECASE
= 'ignoreCase'
(line 159)
CONFIG_RULEMODE
= 'ruleMode'
(line 157)
These are constants for optional behavior of this class.
ruleMode is either 'zend' or 'gnu' or a user-defined mode. dashDash is true if '--' signifies the end of command-line options. ignoreCase is true if '--opt' and '--OPT' are implicitly synonyms.
MODE_GNU
= 'gnu'
(line 139)
MODE_ZEND
= 'zend'
(line 138)
The options for a given application can be in multiple formats.
modeGnu is for traditional 'ab:c:' style getopt format. modeZend is for a more structured format.
PARAM_OPTIONAL
= '-'
(line 146)
PARAM_REQUIRED
= '='
(line 145)
Constant tokens for various symbols used in the mode_zend rule format.
TYPE_INTEGER
= 'i'
(line 149)
TYPE_STRING
= 's'
(line 147)
TYPE_WORD
= 'w'
(line 148)
Documentation generated on Wed, 21 Feb 2007 11:49:52 -0800 by phpDocumentor 1.3.1