kovsky0 / tooler-framework
一个用于快速开发命令行界面工具的简约PHP框架。
dev-master
2018-05-18 10:37 UTC
Requires
- php: ^7.0
- ext-mbstring: *
This package is not auto-updated.
Last update: 2024-09-18 05:00:35 UTC
README
一个用于快速开发命令行界面工具的简约PHP框架。
安装
可以使用Composer安装Tooler。
composer create-project kovsky0/tooler-framework -s dev
理念
此项目的主要理念是创建一个用于快速开发CLI工具的简约框架。它提供简单的目录结构和访问基本助手,用于:解析输入、格式化输出以及提示用户输入。
快速入门(三步简单操作)
步骤1:构建新命令
创建项目后,您可以通过'tooler build'命令构建您的命令
php tooler build two-plus-two
它将自动创建以下文件
- ./two-plus-two,您可以使用它通过'php two-plus-two'运行您的命令
- ./Commands/TwoPlusTwo/TwoPlusTwoCommand.php,您可以使用它来指定您的命令应该做什么
!!! 重要:为了保持一致性,请使用短横线("-")分隔单词。
步骤2:定义命令应执行的操作
在以下文件中添加您的逻辑到'execute'方法
./Commands/TwoPlusTwo/TwoPlusTwoCommand.php
例如
<?php
namespace ToolerFramework\Commands\TwoPlusTwo;
use ToolerFramework\Commands\StandardCommand;
class TwoPlusTwoCommand extends StandardCommand
{
public function execute()
{
echo 2+2;
}
}
步骤3:运行您的命令
通过键入来运行您的命令
php two-plus-two
基本用法
可用命令
通过键入,您可以查看tooler的可用命令
php tooler help
以下命令可用
php tooler build <new-command-name>
构建新命令。
php tooler rename <old-command-name> <new-command-name>
重命名命令。
php tooler remove <command-name>
删除命令及其所有相关文件。
可用助手
有3个助手可供您使用(如果您的命令扩展了"StandardCommand",默认情况下是如此)。
$this->input
您可以通过引用 $this->input 在您的代码中使用它。
$this->input->command
- 被调用的命令名称$this->input->flags
- 所有已使用的短横线(-)和长横线(--)标志$this->input->arguments
- 所有其他已使用的参数
$this->output
您可以通过引用 $this->output 在您的代码中使用它。
$this->output->write("示例文本", "白色", "红色")
- 将给定的文本输出到控制台,第一个颜色是字体颜色,第二个颜色是背景颜色。$this->output->writeln("示例文本", "白色", "红色")
- 将给定的文本输出到控制台,并在末尾带有换行符。$this->output->writeln(array("行1", "行2", "第三行"), "白色", "红色")
- 在新的一行中输出数组的每个元素。$this->output->message("标题: ", "消息的长时间文本体")
- 输出多行消息,其中文本根据提供的标题对齐。请看下面的例子:标题:文本文本文本文本文本文本文本文本$this->output->warning("这是一个自定义警告")
- 输出带有 "WARNING: " 标题的消息,红色背景和白色字体颜色。$this->output->info("这是一个自定义信息")
- 输出带有 "INFO: " 标题的消息,蓝色背景和白色字体颜色。$this->output->success("这是一个自定义成功消息")
- 输出带有 "SUCCESS: " 标题的消息,绿色背景和白色字体颜色。
可用字体颜色
- '黑色'
- '深灰色'
- '蓝色'
- '浅蓝色'
- '绿色'
- '浅绿色'
- '青色'
- '浅青色'
- '红色'
- '浅红色'
- '紫色'
- '浅紫色'
- '棕色'
- '黄色'
- '浅灰色'
- '白色'
可用的背景颜色
- '黑色'
- '红色'
- '绿色'
- '黄色'
- '蓝色'
- '品红色'
- '青色'
- '浅灰色'
$this->prompt
您可以在代码中通过引用 $this->prompt 来使用它。
$this->prompt->prompt("你最喜欢的颜色是什么?")
- 提示自定义文本$this->prompt->confirm("你确定要继续吗? [y/n]")
- 提示一个是或否的问题$this->prompt->multipleChoice(array("blue", "yellow", "green", "red"))
- 提示一个多项选择题,默认情况下 - 只能选择一个选项$this->prompt->multipleChoice(array("blue", "yellow", "green", "red"), null, true)
- 提示一个多项选择题,用户可以选择多个选项$this->prompt->getResponse()
- 返回用户的输入$this->prompt->getConfirmationResponse()
- 对于以 'y' 或 'Y' 开头的任何内容返回 true,对于其他所有内容返回 false$this->prompr->getMultipleChoiceResponse()
- 返回多项选择题中用户的选项
待办事项
- 添加单元测试
- 重构 CommandsFileManager.php
- 为辅助函数添加接口
- 将表格格式化器添加到 Output.php 辅助函数