jawira/mini-getopt
最新稳定版本:v1.3.3
Composer 安装命令:
composer require jawira/mini-getopt
包简介
Very simple wrapper for getopt() function
关键字:
README 文档
README
Very simple wrapper for getopt() function.
Usage
This is only a wrapper, therefore the output from mini-getopt is going to be
the same as getopt() function.
-
First you have to instantiate
\Jawira\MiniGetopt\MiniGetopt. -
Then you have to configure options you want to use. To do so use the following methods:
MiniGetopt::addRequired.MiniGetopt::addOptional.MiniGetopt::addNoValue.
-
To retrieve values you have to call one of the following method:
MiniGetopt::getoptreturns the same asgetopt(). Optionally you can pass$optindparameter.MiniGetopt::getOptionto get only one value.MiniGetopt::docget documentation.
Basic usage
PHP code:
// resources/example.php // Preparing options $mg = new \Jawira\MiniGetopt\MiniGetopt(); $mg->addRequired('f', 'format'); // value is required $mg->addOptional('r', 'retry'); // value is optional $mg->addOptional('q', ''); // only short option $mg->addNoValue('v', 'verbose'); // no value $mg->addNoValue('', 'version'); // only long option // Calling getopt var_export($mg->getopt());
Executing code:
$ php resources/example.php array ( )
$ php resources/example.php -f=xml array ( 'f' => 'xml', )
$ php resources/example.php --format=xml -r -v array ( 'format' => 'xml', 'r' => false, 'v' => false, )
$ php resources/example.php -f=json -r=yes -v array ( 'f' => 'json', 'r' => 'yes', 'v' => false, )
$ php resources/example.php --retry -vvv array ( 'retry' => false, 'v' => array ( 0 => false, 1 => false, 2 => false, ), )
$ php resources/example.php --version=banana --invalid array ( 'version' => false, )
optind parameter
// Setup $mg = new \Jawira\MiniGetopt\MiniGetopt(); $mg->addRequired('f', 'format'); $mg->addNoValue('v', 'verbose'); // Calling getopt function with `optind` parameter $optind = null; $options = $mg->getopt($optind); echo "optind: $optind" . PHP_EOL;
$ php resources/example.php --format=pdf -vv optind: 3
Generate doc
$mg = new \Jawira\MiniGetopt\MiniGetopt(); $mg->addRequired('f', 'format', 'Format to export', 'png|gif|svg'); $mg->addOptional('r', 'retry', 'Retry on error', 'count'); $mg->addOptional('q', '', 'Quiet mode', 'yes|no'); $mg->addNoValue('v', 'verbose', 'Display verbose messages'); $mg->addNoValue('', 'version', 'Show version'); echo $mg->doc();
$ php resource/example.php OPTIONS -f, --format=<png|gif|svg> Format to export -r, --retry=[count] Retry on error -q=[yes|no] Quiet mode -v, --verbose Display verbose messages --version Show version
How to install
$ composer install jawira/mini-getopt
Contributing
If you liked this project, ⭐ star it on GitHub.
License
This library is licensed under the MIT license.
Packages from jawira
-
jawira/emoji-catalog
- Get access to +3000 emojis as class constants.
-
jawira/plantuml-encoding
- PlantUML encoding functions.
-
jawira/case-converter
- Convert strings between 13 naming conventions: Snake case, Camel case, Pascal case, Kebab case, Ada case, Train case, Cobol case, Macro case, Upper case, Lower case, Sentence case, Title case and Dot notation.
- more...
统计信息
- 总下载量: 3.13k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 0
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-09-19