Console_CommandLine pear.php.net A full featured command line options and arguments parser Console_CommandLine is a full featured package for managing command-line options and arguments highly inspired from python optparse module, it allows the developer to easily build complex command line interfaces. Main features: * handles sub commands (ie. $ myscript.php -q subcommand -f file), * can be completely built from an xml definition file, * generate --help and --version options automatically, * can be completely customized, * builtin support for i18n, * and much more... David JEAN LOUIS izi izimobil@gmail.com yes Richard Quadling rquadling rquadling@gmail.com yes 2016-07-14 1.2.2 1.2.2 stable stable MIT * Fix bug #21063: xmlschema.rng location does not work with composer [alec] 5.3.0 1.4.0b1 dom xml 2007-12-19 0.1.0 0.1.0 alpha alpha MIT License Initial release. 2007-12-21 0.1.1 0.1.1 alpha alpha MIT License * bugs - fixed bug #12711, - fixed wrong error triggered when argument name is invalid. * changes - some cosmetic changes, - added a lot of phpt test files. 2008-01-09 0.2.0 0.2.0 beta beta MIT License - fixed a bug in Option::toString() (values were not displayed for short options), - fixed a parsing bug: if "-" is passed on the command line it should be treated as an argument, - stop option parsing when a "--" is found as gnu getopt does, - added a "force_posix" boolean attribute that tells the parser to be POSIX compliant, POSIX demands the following behavior: the first non-option stops option processing, - added more regression tests. 2008-01-09 0.2.1 0.2.1 beta beta MIT License fixed bug #12859: xmlschema.rng gets searched at the wrong folder 2008-01-18 1.0.0RC1 1.0.0RC1 beta beta MIT License - fixed a missing check when a short option require an argument and is the last in the argv array, - more GNU getopt compliance: long option/argument can also be separated by a space now and long options abbreviations are supported, - added a "Password" action: with this action it is possible to specify a password on the command line, and if it is missing it will be prompted to user (and will not be echo on stdin on UNIX systems), - allow "force_posix" option to be passed to the constructor, - added more tests. 2008-03-10 1.0.0RC2 1.0.0RC2 beta beta MIT License - allow "force_posix" option to be passed to the constructor; - fixed bug #13038 changed the signature of the parse method to allow the developer to pass argc and argv array (instead of using $_SERVER values); - fixed bug #13132 : "choices" not supported in xml definition (also added "force_posix" attribute support in xml). 2008-03-12 1.0.0RC3 1.0.0RC3 beta beta MIT - fixed a strict standards notice: Console_CommandLine_Exception::build() should be static; - changed behaviour when a StoreArray option is positioned at the end; - now use pfm (so removed package.php and package2.xml). 2008-03-12 1.0.0RC3 1.0.0RC3 beta beta MIT - fixed a strict standards notice: Console_CommandLine_Exception::build() should be static; - changed behaviour when a StoreArray option is positioned at the end; - now use pfm (so removed package.php and package2.xml). 2008-05-22 1.0.0 1.0.0 stable stable MIT - doc is now in peardoc format (thanks to cweiske for his precious help); - better handling of custom instances (added an accept() method); - added an AllTests.php file to make phpunit happy; - added tests for xml usage; - some cosmetic changes. 2008-08-01 1.0.1 1.0.1 stable stable MIT - Better code coverage of tests (nearly 100%); - fixed two bad include_once; - fixed bug #14435 (own -h short option doesn't remove help short option) and did the same for "version" option; - fixed bug #14436 (Typo in error message) and some fixed other typos. 2008-08-22 1.0.2 1.0.2 stable stable MIT - fixed bug #14454 (Console_Commandline hangs when called via browser); - fixed outputter bug (STDOUT/STDERR not defined with php-cgi); - Console_CommandLine can now handle web requests (it convert automatically a request to options/arguments). 2008-09-30 1.0.3 1.0.3 stable stable MIT - now handles stdin with the "-" special switch; - fixed bug #14717 (Password not optional when parser built from an xml file); - added relevant unit tests; - removed useless require_once's in some tests. 2008-10-09 1.0.4 1.0.4 stable stable MIT - implemented feature request #14753 (add_list_option parameter for --list-XXX option); - fixed bug #14762 (error message always tells me to use "-h" for help); - added relevant unit tests; - cleaned up phpdoc tags and some cosmetic changes. 2008-12-06 1.0.5 1.0.5 stable stable MIT * implemented feature request #15251: Allow specifying optional arguments for sub-commands, * use "name" instead of "help_name" when generating list-xxx options, * updated relevant unit tests, * added examples for sub-commands usage. 2008-12-26 1.0.6 1.0.6 stable stable MIT Bugfix release: * fixed bug #15374 (RelaxNG validation should be less strict); * fixed bug #15375 (Cannot add a comment before the root node of the xml file); * fixed bug #15376 (short option and long options in separated lines in help); * fixed bug #15377 (StoreFalse/True actions should have a boolean default value); * added relevant unit tests. 2009-06-19 1.1.0 1.1.0 stable stable MIT * changed sources layout to make easier to use / run tests without installing the package with pear * implemented subcommand aliases (as requested by Greg for pyrus) * implemented request #15325: add ability to detect missing sub-command (patch by gauthierm, thanks) * implemented request #15324: add ability to set custom error messages (patch by gauthierm, thanks) * fixed bug #16320: storeArray default value not cleared when options arguments given (patch by Richard Quadling, thanks!) * fixed bug #16329: sub command aliases do not work (was a "too early documentation" issue) * fixed bug #16330: nested subCommands help output not quite right * implemented request #16332: add support for optional arguments in XML (patch by gauthierm, thanks) 2009-11-11 1.1.1 1.1.1 stable stable MIT Bugfix release: * fixed bug #16507: typo in code example (thanks Richard) * fixed bug #16497: cascade command properties to sub-commands * fixed bug #16370: allow pre-processing of arguments for list (thanks rquadling for the patch) * fixed bug #16764: Invalid Package.xml (thanks mklappstuhl for the patch) * fixed some test cases 2010-04-10 1.1.2 1.1.0 stable stable MIT Bugfix release: * fixed bug #16848: Trailing spaces in quoted argument are truncated, * fixed bug #16849: Replaced $_GET by $_REQUEST to handle POST correctly, * fixed bug #16850: Parse9 test (password) fails (on windows), * fixed bug #16914: Password action now operates as expected when it is the last parameter or the last parameter before a command, * displayUsage() should output to stdout instead of stderr, * added the possibility to pass "false" as exitCode to the display*() methods to prevent exit() calls, * fixed some typos in code comments. 2010-04-10 1.1.3 1.1.0 stable stable MIT * fixed package.xml to allow installation via pyrus. 2012-10-25 1.2.0 1.2.0 stable stable MIT * Implemented feature request #18583 (default values for arguments) [izi] * Implemented feature request #18582 (add possibility to require a subcommand) [izi] * Booleans read from an XML file or string are now case insensitive [rquadling] * Fixed unit tests [CloCkWeRX] * arguments now accept "choices" [izi, thanks Laurent Laville] 2015-12-10 1.2.1 1.2.1 stable stable MIT * Fixed bug #18397: List action example is wrong [cweiske] * Fixed bug #18682: columnWrap() in refault renderer eats up lines with only a EOL [izi, thanks Helgi] * Fixed bug #18703: No way to override reading of stdin with - [izi, thanks Gwynne Raskind] * Fixed bug #19683: Unit tests are broken [farell] * Fixed bug #19921: package dependencies don't include dom [cweiske] * Fixed unit tests [izi] * Fixed comparison on PHP 7 [Jan Olsen] * Allow multiple instances of the parser by making static variables private [Greg Oriol] * Add composer support 2016-07-14 1.2.2 1.2.2 stable stable MIT * Fix bug #21063: xmlschema.rng location does not work with composer [alec]