Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/getopt-php/getopt-php
A PHP library for command-line argument processing
https://github.com/getopt-php/getopt-php
argument-parser arguments cli command-line php
Last synced: about 1 month ago
JSON representation
A PHP library for command-line argument processing
- Host: GitHub
- URL: https://github.com/getopt-php/getopt-php
- Owner: getopt-php
- License: mit
- Created: 2011-11-13T15:25:30.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2022-12-13T20:40:18.000Z (almost 2 years ago)
- Last Synced: 2024-04-14T09:45:45.936Z (8 months ago)
- Topics: argument-parser, arguments, cli, command-line, php
- Language: PHP
- Homepage: http://getopt-php.github.io/getopt-php/
- Size: 484 KB
- Stars: 333
- Watchers: 12
- Forks: 63
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-php - GetOpt - A command line opt parser. (Table of Contents / Command Line)
- awesome-php-cn - GetOpt - A command line opt parser. (目录 / 命令行 Command Line)
- awesome-projects - GetOpt - A command line opt parser. (PHP / Command Line)
- awesome-php - GetOpt - A command line opt parser. (Table of Contents / Command Line)
README
# GetOpt.PHP
[![.github/workflows/push.yml](https://github.com/getopt-php/getopt-php/actions/workflows/push.yml/badge.svg)](https://github.com/getopt-php/getopt-php/actions/workflows/push.yml)
[![Test Coverage](https://api.codeclimate.com/v1/badges/2f0b9586f3f69d690647/test_coverage)](https://codeclimate.com/github/getopt-php/getopt-php/test_coverage)
[![Maintainability](https://api.codeclimate.com/v1/badges/2f0b9586f3f69d690647/maintainability)](https://codeclimate.com/github/getopt-php/getopt-php/maintainability)
[![Latest Stable Version](https://poser.pugx.org/ulrichsg/getopt-php/v/stable.svg)](https://packagist.org/packages/ulrichsg/getopt-php)
[![Total Downloads](https://poser.pugx.org/ulrichsg/getopt-php/downloads.svg)](https://packagist.org/packages/ulrichsg/getopt-php)
[![License](https://poser.pugx.org/ulrichsg/getopt-php/license.svg)](https://packagist.org/packages/ulrichsg/getopt-php)GetOpt.PHP is a library for command-line argument processing. It supports PHP version 7.1 and above.
## Releases
For an overview of the releases with a changelog please have look here: https://github.com/getopt-php/getopt-php/releases
## Features
* 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## Upgrading
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](https://getopt-php.github.io/getopt-php/upgrade.html) for details.## Documentation
* [Documentation for the current version (3.0+)](http://getopt-php.github.io/getopt-php/)
* [Legacy documentation (1.4)](https://github.com/getopt-php/getopt-php/blob/1.4.1/README.markdown)## License
GetOpt.PHP is published under the [MIT License](http://www.opensource.org/licenses/mit-license.php).