jrosset / commandline
命令行管理库 (CLI)
2.0.1
2021-09-06 16:15 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 ?