Skip to content

Repository files navigation

[中文] / English #简介

iry/Cli 可以简单实现 输出、输入、倒计时、绘制进度条、绘制表格、移动光标、清除屏幕、确认对话 等功能

可以轻松实现类似表单等输入功能:

如(input: stdin, 开关:confirm, select:select,radio:select单选模式, checkbox:select多选模式

安装

composer require iry/cli

使用方法

环境控制 【可选】

use ir\cli\Cli;
Cli::disableStyle(true|false)//是否禁用样式 默认false;
Cli::charset('gbk')//'utf-8', 'gbk', 'gb2312'//默认utf-8

示例

标准输入

stdin($msg,$validator,$processor);//等待并获取用户输入的数据

参数类型说明
$msgstring消息:等待用户输入前,输一条提示消息消息
$validatorfalse/callable验证器:用于验证用户输入的信息是否有效的方法
$processorfalse/callable处理器:对用户输入的数据进行处理的方法
useir\cli\Cli;
$numeric = Cli::stdin('请输入');//等待并获取用户输入的数据$numeric = Cli::stdin('请输入数字',function($v){returnpreg_match('/^[0-9]+$/',$v);},'trim');
$numeric = Cli::stdin('请输入数字',function($v){returnpreg_match('/^[0-9]+$/',$v);},'trim');

标准输出 output($msg,$styleType)

打印到屏幕 支持彩色文字

参数说明
$msgstring/array消息:等待用户输入前,输一条提示消息消息
$styleTypestring/arrayerror,info,comment,question,highlight,warning,[前景色,背景色]
$msg数组模式可以设置复杂的彩色文字如下示例

示例

Cli::output('这是一个测试','success') Cli::output('这是一个测试','error')
Cli::output('这是一个测试',['purple','yellow'])
Cli::output([
'这是',
['一个','error'],//使用error样式
['测试','yellow'],//使用info样式//string || ['$msg','$styleType']
]);

示例大致效果如下

这是一个测试:
这是一个测试:
这是一个测试:
这是一个测试

确认对话

confirm($msg,$validator,$processor);//Cli中 确认对话

参数说明
$msgstring消息:等待用户输入前,输一条提示消息消息
returnbooltrue/false

$msg

useir\cli\Cli;
$confirm = Cli::confirm('你确认要删除吗?');
//效果如下//你确认要删除吗?[y/n] _

列表选择

select($list,$colQty,$msg,$mul);

参数说明
$listarray必须可选清单
$colQtyint可选列数,展示可选清单时,展示几列。默认:1
$msgstring可选默认:请输入
$mulbool可选是否允许多选,默认:false

移动光标

cursorMove(方位,移动量) 方位:l:left r:right u:up, d:down

useir\cli\Cli;
$confirm = Cli::cursorMove('u',3); //光标上移三行$confirm = Cli::cursorMove('l',4); //光标左移4个字符

光标定位 (移动光标到指定位置)

cursorPosition(x,y) y行x列

useir\cli\Cli;
$confirm = Cli::cursorPosition(3,5);//光标定位到5行第三个字符后面

clear

clear();//清除屏幕

wait (等待/倒计时/模拟loading 等场景)

wait(int $s 秒,string $msg 消息);

progressBar (进度条绘制)

progressBar(int $total 总量,int $current 当前量, string $msg 文本信息)

About

PHP CLI Helper. For example: input, output, selection, confirmation, tabulation, drawing progress bar...

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages