darkelfe14728 / commandline
2.0.0
2021-09-01 18:21 UTC
Requires
- php: >= 7.4
README
PHP (CLI) 命令行管理库
具有可配置的期望值和帮助自动生成的命令行选项解析器。
存在两种类型的参数
- 选项(短/长标记): -h 或 --version
- 值: my/path/to/a/file
安装
composer require jrosset/commandline
描述
首先,创建一个新的CommandLine对象,包含程序名称和描述。通过分别使用 addOption 和 addValue 添加选项和值。默认的帮助选项 (-h / --help) 和版本 (--version) 可以通过 addDefaultArguments 添加,并使用 treatDefaultArguments 来启动关联的处理。
使用 parse 处理脚本参数:返回一个变量对象。
示例
<?php
use jrosset\CommandLine\CommandLine;
use jrosset\CommandLine\Argument\Option\Flag;
use jrosset\CommandLine\Argument\Parser\StringParser;
use jrosset\CommandLine\Argument\Value\Value;
$cmdline = new CommandLine('Checker', 'File checker', 'php checker.php');
$cmdline->addDefaultArguments();
$cmdline->addOption(new Flag('enhanced', false, 'Deep check ?'));
$cmdline->addValue(new Value('path', 'File path', new StringParser()));
var_dump($args = $cmdline->parse());
$cmdline->treatDefaultArguments($args);
将显示类似的内容
class stdClass#13 (1) {
public $enhanced => bool(false)
public $path => string("my/path/to/a/file")
}
自动帮助生成
CommandLine 为程序提供了命令行的生成器。示例
Checker
File checker
php checker.php [OPTIONS] path
Arguments :
path string File path
Options :
-h --help X Affiche cette aide
--enhanced Deep check ?