使处理命令行参数变得更加愉悦

dev-master 2020-04-06 20:45 UTC

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 ()

获取选项的值,如果通过命令行提供