Command line arguments parser for PHP 7.1 and above

v4.0.3 2022-12-13 20:37 UTC


.github/workflows/push.yml Test Coverage Maintainability Latest Stable Version Total Downloads License

GetOpt.PHP is a library for command-line argument processing. It supports PHP version 7.1 and above.


For an overview of the releases with a changelog please have look here: https://github.com/getopt-php/getopt-php/releases


  • Supports both short (e.g. -v) and long (e.g. --version) options
  • Option aliasing, ie. an option can have both a long and a short version
  • Cumulative short options (e.g. -vvv)
  • Two alternative notations for long options with arguments: --option value and --option=value
  • Collapsed short options (e.g. -abc instead of -a -b -c), also with an argument for the last option (e.g. -ab 1 instead of -a -b 1)
  • Two alternative notations for short options with arguments: -o value and -ovalue
  • Quoted arguments (e.g. --path "/some path/with spaces") for string processing
  • Options with multiple arguments (e.g. --domain example.org --domain example.com)
  • Operand (positional arguments) specification, validation and limitation
  • Command routing with specified options and operands
  • Help text generation
  • Default argument values
  • Argument validation


If you are still using a legacy version of GetOpt.PHP, please consider upgrading to version 3.

Only a few adjustments to your code are required to benefit from a lot of improvements. Refer to the upgrade guide for details.



GetOpt.PHP is published under the MIT License.