此包已被放弃,不再维护。未建议替代包。

用于解释 CLI 参数的小型功能库

2.0.0 2017-10-15 17:04 UTC

This package is not auto-updated.

Last update: 2020-01-24 17:11:17 UTC


README

用于解释 CLI 参数的小型功能库 ✨

Build Status

安装

$ composer require troublete/argv

用法

<?php
require_once 'path/to/autoload.php';

use function Argv\{cleanArguments, getFlags};

$cleanedArguments = cleanArguments($argv);
$flags = getFlags($cleanedArguments);

if ($flags->rainbow) {
	echo 'rainbow 🌈';
}

在 CLI 执行如 $ php file-with-script.php --rainbow 时,CLI 将输出 rainbow 🌈。(见 examples 目录中的示例)

API

方法

cleanArguments(array $argv): string

将从输入参数中移除脚本。

reduceFlagName(string $flagName): string

将从标志和标志别名中移除 ---

isCommandCall(array $arguments): bool

将通过检查第一个参数来决定是否调用命令或仅发生标志调用。

isFlag(string $argument): bool

将通过检查是否以 -- 开头来确定参数是否为标志。

isFlagAlias(string $argument): bool

将通过检查第一个字符是否为 - 来确定参数是否为标志别名。

getFlags(array $arguments, array $aliases = []): class@anonymous

将返回一个类,其中包含所有标志(不是别名)作为公共属性,值设置为 true 或该标志的后续索引值。如果提供了类似于 ['f' => 'flag'] 的别名,则标志 flag 在脚本调用时可以通过仅 -f 设置。

getValues(array $arguments): class@anonymous

将返回所有提供的值封装在一个匿名类中(原始索引将被保留)。通过在返回的类上调用 ->all(),将返回一个包含所有值的数组,其中键是原始索引,值是值。通过调用 ->first(),将返回第一个值。

getCommand(array $arguments): string

是返回值中设置命令名称的别名方法。

许可

GPL-2.0 Willi Eßer