olliesplayground / clinch
使处理命令行参数变得更加愉悦
dev-master
2020-04-06 20:45 UTC
Requires
- php: >=7.1
Requires (Dev)
- phpunit/phpunit: ^9.1
This package is auto-updated.
Last update: 2024-09-07 06:53:58 UTC
README
Clinch 是一个轻量级的、不唱歌不跳舞 的命令行参数解析器,它作为 PHP 内置的 getopt
函数的包装器。
它提供了一个简单友好的 API,使处理命令行参数变得非常愉悦。
安装
通过运行以下命令使用 Composer 安装 Clinch:
composer require olliesplayground/clinch
用法
Clinch 的使用方式如下:
example.php
<?php
require_once 'vendor/autoload.php';
use Clinch\Options;
$options = new Options();
$option = $options->newOption('l');
$option->setLongName('locale');
$locale = $options->getOptionValue('l');
echo "Locale: $locale\n"
然后从命令行,可以这样执行
php example.php -len
Locale: en
或者
php example.php --locale=de
Locale: de
API
选项类
newOption (string $shortName): Option
创建一个新的选项并添加它。返回新的 Option 对象
addOption (Option $option, string $shortName): Option
添加一个新的 Option 对象
optionExists (string $shortName): bool
检查是否存在选项
getOptions (): array
获取所有 Option 对象
getOption (string $shortName): ?Option
如果存在,返回 Option,否则返回 null
getOptionValue (string $shortName)
获取选项的值,如果通过命令行提供
选项类
setShortName (string $shortName): Option
设置选项的短名称
setLongName (string $longName): Option
设置选项的长名称
setValue ($value): Option
设置选项的值
setType (int $type): Option
设置选项的类型,可能的值有
Option::TYPE_FLAG
- 该选项不需要值,如果提供,则将值设置为 true
Option::TYPE_OPTIONAL
- 该选项是可选的。这是默认设置
Option::TYPE_REQUIRED
- 该选项是必需的。
shortName (): string
获取短名称
longName (): ?string
获取长名称。如果未设置,将返回 null
type (): int
获取选项的类型
value ()
获取选项的值,如果通过命令行提供,则返回 null
compileShortOption (): string
创建所需的短选项字符串,以供 getopt
使用
compileLongOption (): array
创建所需的短选项数组,以供 getopt
使用
parseValues (array $values)
解析由 getopt
提供的值
getValue ()
获取选项的值,如果通过命令行提供