minicli/minicli是一个极简的没有其他依赖的命令行类库,可以非常方便的写出一套基础功能完整的命令行应用.并且可以定制主题.
它本身没有其他依赖的只是一个类库,一般的我们需要自己建立相关文件,但是它也提供了一个简单却完整的框架,小编推荐使用这样的安装方式:
composer create-project --prefer-dist minicli/application myapp
这样创建出的项目:
- 简单却完整
- 自动加载依赖
- 可以基于命名空间引用类库
- 很容易的创建多个应用和命令
创建出的项目包含几个默认的命令,我们进入项目目录后直接运行:
php minicli
会打印出当前项目中可用的命令,像这样:
项目初始化了一个table命令,执行之后可以打印出一个简单的表格:
它还提供了一个demo项目,可以下载下来测试:
https://github.com/minicli/demos
下面是小编带来的演示截图:
- 支持的命令行样式:
标准的内容输出颜色和背景色:
自定义的颜色和背景色:
带下划线或加粗的样式,部分终端可能不支持:
- 表格样式
标准的表格输出:
自定义表格样式:
- 定制主题
$app = new App([
'debug' => false,
'app_path' => __DIR__ . '/app/Command',
'theme' => 'App\CustomTheme\Theme\Blue'
]);
主题文件像这样:
<?php
namespace App\CustomTheme\Theme;
use Minicli\Output\CLIColors;
use Minicli\Output\Theme\DefaultTheme;
/**
* Custom Theme Example
* Overwrite only the colors you need, the other styles will be picked up from DefaultTheme
* Style format: `style_name => [ COLOR_FOREGROUND, COLOR_BACKGROUND ]`
*/
class BlueTheme extends DefaultTheme
{
public function getThemeColors(): array
{
return [
'default' => [ CLIColors::$FG_BLUE ],
'alt' => [ CLIColors::$FG_WHITE, CLIColors::$BG_BLUE ],
'info' => [ CLIColors::$FG_CYAN ],
'info_alt' => [ CLIColors::$FG_BLACK, CLIColors::$BG_BLUE ]
];
}
}
项目官网:https://docs.minicli.dev/en/latest/
原文标题:[minicli/minicli]极简的命令行框架
原文地址:https://phpreturn.com/index/a620bad1ae7f92.html
原文平台:PHP武器库
版权声明:本文由phpreturn.com(PHP武器库官网)原创和首发,所有权利归phpreturn(PHP武器库)所有,本站允许任何形式的转载/引用文章,但必须同时注明出处。