- 广场
-
- 搜索中...
- 本文档内搜索
zxf/tools 使用手册
命令行参数解析
#!/usr/bin/env php
<?php
//实例化
$cmd = zxf\Tools\Command::instance();
// 获取所有参数值
$all = $cmd->all();
// 解析选项 port
$cmd->option('port', function ($val) {
// $val port选项传入的值
echo 'Option port handler=>'.$val;
});
// 解析参数 test
$cmd->args('test', function ($bool){
// $bool 是否解析到 test true|false
if($bool){
// 传入了 test
}else{
//未传入 test
}
});
// 获取所有Opts的值
$opts = $cmd->getOptVal();
// 获取 port 的值 ,没有则返回null
$port = $cmd->getOptVal('port');
// 获取所有Args的值
$args = $cmd->getArgVal();
// 获取 是否传入 test 的 ,返回true|false
$test = $cmd->getArgVal('test');
// 调用 demo: php 你的脚本文件 --port 3307 -c 100 -hlocal test -g
// 传入参数说明:
// --opts参数名称 加 空格 加 opts参数值 例如:--port 3307 表示 port 的值为 3307 ; 返回到 opts 中
// -opts参数名称 加 空格 加 opts参数值 例如:-c 100 表示 c 的值为 100 ; 返回到 opts 中
// -opts参数简称「单字母」 不加空格 接opts参数值 例如:-hlocal 表示 h 的值为 local ; 返回到 opts 中
// -opts参数简称「单字母」 例如:-g 表示 传入了参数 g ; 返回到 opts 中
// 参数名称 例如:test 表示 传入了参数 test ; 返回到 args 中
// 扩展方法
// 输入
$name = $cmd->input('请输入您的名字');
$choice = $cmd->choice('请选择一项:',['a'=>'选项A','b'=>'选项B','c'=>'选项C']);
// 输出
$cmd->info('打印一个info');
$cmd->error("error");
$cmd->warning("warning");
$cmd->blink("闪烁文字"); // 闪烁文字
自定义颜色样式
$cmd->printLine("红色文字", CliOutput::ANSI_RED); // 红色文字
$cmd->printLine("绿色加粗文字", CliOutput::ANSI_GREEN, CliOutput::ANSI_BOLD); // 绿色加粗文字
$cmd->printLine("蓝色闪烁文字", CliOutput::ANSI_BLUE, CliOutput::ANSI_BLINK); // 蓝色闪烁文字
$cmd->printLine("黄色反色文字", CliOutput::ANSI_YELLOW, CliOutput::ANSI_REVERSE); // 黄色反色文字
$cmd->printLine("青色下划线文字", CliOutput::ANSI_CYAN, CliOutput::ANSI_UNDERLINE); // 青色下划线文字
$cmd->printLine("带背景色的文字", CliOutput::ANSI_BG_RED, CliOutput::ANSI_BOLD); // 带背景色的文字
打印进度条
$total = 100;
for ($i = 0; $i <= $total; $i++) {
usleep(100000); // 模拟耗时操作
$cmd->printProgress($i, $total);
}
打印表格
$data = [
['姓名', '年龄', '性别'],
['张三11', 25, '男'],
['李四', 30, '女'],
['王五', 28, '男'],
];
$cmd->printTable($data);