arvodia / arvodia-cli
ARVODIA CLI 工具
1.1.8
2022-04-29 08:29 UTC
Requires
- php: >=7.2.5
README
ARVODIA CLI 工具
Arvodia CLI 工具使创建命令行界面变得简单。
内容
功能
- 单个可执行文件,或使用加载类
- 命令的方法。
- 输入选项被注入到函数的参数中
- 支持变量注释以进行描述和快捷键
- 长名称输入与函数参数名称相同
- 验证所需值
- 还进行其他验证,例如不存在的命令名称
- 比较选项输入的类型与函数参数的变量
- 可选链的可能性,例如:-abc
- 装饰文本输出颜色、块和列表
- 列表命令列出所有命令
- 帮助选项显示指定命令的帮助信息。
- 详细级别选项,例如:-v -vv -vvv
- 命令描述、用法和帮助
- 确认和选择输入
- 生成命令
屏幕截图
安装
您可以下载仅包含 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