Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

imroychen/php-cli

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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);//等待并获取用户输入的数据

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

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

打印到屏幕 支持彩色文字

参数 说明
$msg string/array 消息:等待用户输入前,输一条提示消息消息
$styleType string/array error,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中 确认对话

参数 说明
$msg string 消息:等待用户输入前,输一条提示消息消息
return bool true/false

$msg

use ir\cli\Cli;
$confirm = Cli::confirm('你确认要删除吗?');

//效果如下
//你确认要删除吗?[y/n] _

列表选择

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

参数 说明
$list array 必须 可选清单
$colQty int 可选 列数,展示可选清单时,展示几列。默认:1
$msg string 可选 默认:请输入
$mul bool 可选 是否允许多选,默认:false

移动光标

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

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

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

cursorPosition(x,y) y行x列

use ir\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

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.