vtardia/cli-parser

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

PHP脚本的命令行解析实用工具。

1.0.0 2015-03-26 13:27 UTC

This package is auto-updated.

Last update: 2022-01-23 21:15:21 UTC


README

CLIParser 是一个 PHP 工具,用于解析 PHP 脚本的命令行,检测短选项和长选项、开关和参数。

输出类似于 Linux 的 getopt_long() 本地函数,在行为和配置上相似,可以验证长选项和短选项,例如

$shortOptions = 'vho:a';

$longOptions = array(
    array('id', TRUE),
    array('name', TRUE),
    array('verbose', FALSE, 'v'),
    array('output', TRUE, 'o'),
);

上述代码定义了

  • 长选项 --verbose,其短选项为 -v,没有必需的参数
  • 长选项 --output,其短选项为 -o,有必需的参数
  • 长选项 --id--name,有必需的参数,没有短选项
  • 短选项 -h-a,没有长选项,没有必需的参数

使用 CLIParser,您可以构建如下脚本

$ myscript -abc -v -o somefile.log --name=SomeName --other-option OtherValue Argument1 Argument2...ArgumentN

此外,您还可以从任意位置解析参数,因此您可以有

$ myscript SomeCommand [OPTIONS] Argument1...ArgumentN

用法

// require CLIParser.php library file or use an autoloader (eg. Composer)

use CLIParser\CliParser;

// Define some options
$shortOptions = 'vo:';
$longOptions = array(
    array('verbose', false, 'v'),
    array('output', true, 'o'),
);

// Create a parser...
$cli = new CLIParser($shortOptions, $longOptions);

// ... and use it!

// Executable name or path
$program = $cli->program();

// Array of valid options with values
$options = $cli->options();

// Array of arguments
$arguments = $cli->arguments();

安装

$ composer require vtardia/cli-parser

需求

PHP 5.3 或更高版本,PHPUnit 以运行测试。

贡献

请参阅 CONTRIBUTING 文件。

运行测试

$ composer test

致谢

CLI Parser 使用了由 Patrick Fisher 编写的部分代码。

贡献者行为准则

请注意,此项目以 贡献者行为准则 发布。通过参与此项目,您同意遵守其条款。请参阅 CODE_OF_CONDUCT 文件。

许可证

CLIParser 在 MIT 许可证下发布。有关详细信息,请参阅捆绑的 LICENSE 文件。