arvodia/arvodia-cli

1.1.8 2022-04-29 08:29 UTC

This package is auto-updated.

Last update: 2024-09-29 05:56:36 UTC


README

EURL ARVODIA Logo

ARVODIA CLI 工具

Arvodia CLI 工具使创建命令行界面变得简单。

内容

功能

  • 单个可执行文件,或使用加载类
  • 命令的方法。
  • 输入选项被注入到函数的参数中
  • 支持变量注释以进行描述和快捷键
  • 长名称输入与函数参数名称相同
  • 验证所需值
  • 还进行其他验证,例如不存在的命令名称
  • 比较选项输入的类型与函数参数的变量
  • 可选链的可能性,例如:-abc
  • 装饰文本输出颜色、块和列表
  • 列表命令列出所有命令
  • 帮助选项显示指定命令的帮助信息。
  • 详细级别选项,例如:-v -vv -vvv
  • 命令描述、用法和帮助
  • 确认和选择输入
  • 生成命令

屏幕截图

EURL ARVODIA Logo

安装

您可以下载仅包含 bin 文件并与之工作,或者使用 composer 将 arvodia-cli 集成到您的项目中。

composer require arvodia/arvodia-cli
mkdir -p src/Arvodia
cp -r vendor/arvodia/arvodia-cli/src/Arvodia/Command/ src/Arvodia/
ln -s ../vendor/arvodia/arvodia-cli/bin/terminal bin/app_name

来执行

php bin/app_name

命令

类命令可以直接集成到 bin/terminal 文件中,如果您想使用单个文件作为可执行文件。

您还可以在 src/Arvodia/Command 文件夹中创建 PHP 文件,文件必须以 Command 结尾,例如 NameCommand.php,其中包含与文件同名的类,命令将由 arvodia-cli 自动检测。

类必须还包含一个 execute() 方法,命令行中传递的选项将被注入到 execute() 函数的参数中。在函数中,您必须始终以 require 参数开始,然后是可选参数。

示例

class ExampleCommand extends ArvodiaCli {
    protected const DESCRIPTION = 'Example commands';
    protected const HELP = 'HELP commands text';
    /**
     * 
     * @option(param=requise,short=r, message="the parameter requires a value")
     * @option(param=optionnel,short=o, message="parameter value is optional")
     */
    public function execute(string $requise, string $optionnel = 'hello')
	{
        $this->show($optionnel . ' ' . $requise . '!');
		$this->show('Verbosity levels is : ' . VERBOSE);
    }
}

注释

注释是可选的,它用于添加您的选项的快捷键和描述。

语法

它必须放在 @option() 中,并且必须声明包含变量名称的 param,该变量位于您的 execute 方法参数中。

输入参数

要查找的第一个参数是执行命令的名称 注意:它可以放在开头、中间或结尾。

  • 没有默认值的参数(参数需要值)// 必要值
    • 注意:如果需要值,它并不重要,哪个字符串被分配给它。
  • 具有默认值的参数(参数值是可选的)
    • 注意:可选值不接受空格作为分隔符。
  • 具有类型 bool、boolean 的参数
    • 这些选项在没有默认值的情况下不接受任何值,如果找到,它将仅回退为 true。
    • 具有必要值,这些选项接受 "1"、"true"、"on"、"yes"、"0"、"false"、"off" 和 "no" 的值
    • 具有默认值的多重短名称,例如 -abc

注意:当找到第一个错误的选项时,脚本将停止。

配置

要自定义控制台介绍标题,请修改 Command/config.json 文件中的 arvodia_cli_title

引导器

Command/config.json

{
    "arvodia_cli_title": "Your cli name",
    "cmd_loader": {
        "youcommendname": {
            "/laminas/laminas-config/src": "Config.php"
        }
    }
}

Git 克隆

$ git clone https://github.com/arvodia/arvodia-cli.git

联系

arvodia@hotmail.com - EURL ARVODIA

许可

GNU通用公共许可证v3.0