bulton-fr/bfw-cli

BFW的命令行模块

1.0.0-rc1 2016-09-25 00:00 UTC

This package is auto-updated.

Last update: 2024-09-26 02:05:58 UTC


README

Build Status Coverage Status Scrutinizer Code Quality Latest Stable Version License

使用BFW框架的基本命令行脚本模块。未来将创建一个用于高级命令行脚本使用的模块。

安装

您可以使用composer获取该模块: composer require bulton-fr/bfw-cli @stable

安装模块: ./vendor/bin/bfwInstallModules

配置

没有配置文件 😄

使用它

安装后,只需在您的控制台中运行cli.php脚本。
使用参数-f来指定要执行的/src/cli中的哪个文件。
参数-f对于/cli.php脚本来说是必须的,但由它执行的任何命令行脚本也可以有自己的参数。

注意:我们使用函数getopt(),所以请花时间了解如何传递参数值。

示例

默认安装了一个示例脚本,您可以使用它来查看如何执行命令行脚本。
要运行脚本,您应该这样做

$ php cli.php -f=exemple
CLI Exemple file
$ php cli.php -f=exemple -h
CLI Exemple file

Helping Informations : Parameters script
* -v --version : Version of test script
* -p --parameters : Display args array
* -h --help : View this message

$ php cli.php -f=exemple -p
CLI Exemple file
Array
(
    [f] => exemple
    [p] => 
)

辅助工具

存在一个用于向控制台发送消息的辅助工具。

要写入消息,您可以使用方法displayMsgdisplayMsgNL。第一个方法会在消息末尾添加换行符。第二个方法会自动在消息末尾添加换行符。

刷新系统

默认情况下,当框架加载时,会调用函数ob_start。因此,所有输出都被发送到一个缓冲区,并在应用程序关闭时显示。为了避免这种情况,您可以使用函数ob_flush强制缓冲区显示。

在命令行中,在写入消息时始终显示缓冲区内容可能很有用。但有时,我们可能更喜欢消息不立即显示。

为了管理这两种情况,集成了一个刷新系统。默认情况下,缓冲区在displayMsgdisplayMsgNL方法的末尾刷新。但您可以定义不刷新,并选择何时刷新缓冲区。

为此,有以下

  • 常量
    • const FLUSH_AUTO = 'auto';
    • const FLUSH_MANUAL = 'manual';
  • 属性public static $callObFlush = self::FLUSH_AUTO;

该属性的值定义了是否自动调用刷新。如果值为常量FLUSH_AUTO,则在方法末尾执行刷新。但如果值为常量FLUSH_MANUAL,则系统永远不会执行刷新;您应该自己执行。

常量

错误/异常代码

这些常量在抛出异常时发送,并用作异常代码。

ERR_COLOR_NOT_AVAILABLE

如果颜色不可用,则返回异常代码。

ERR_STYLE_NOT_AVAILABLE

如果样式不可用,则返回异常代码。

方法

显示消息

public static function displayMsg(string $msg, string $colorTxt = 'white', string $style = 'normal', string $colorBg = 'black')

public static function displayMsgNL(string $msg, string $colorTxt = 'white', string $style = 'normal', string $colorBg = 'black')

这两个方法将显示带有颜色和/或样式的消息。

第一个方法仅显示消息,第二个方法会在消息末尾添加换行符(\n)。

参数

  • string $msg : 要显示的消息。
  • string $colorTxt : 文本颜色。请参阅方法colorForShell以了解可用的颜色。
  • string $style : 这是文本的样式。请参考 styleForShell 方法以获取可用的颜色。
  • string $colorBg : 这是使用的背景颜色。请参考 colorForShell 方法以获取可用的颜色。

如果只有第一个参数,颜色和样式将不会定义,并保持当前shell配置。如果只有前三个参数,背景颜色将不会定义,并保持当前shell配置。

定义在shell中使用的颜色代码

受保护的静态函数 colorForShell(string $color, string $type): int

此方法将为字符串颜色名称返回shell中使用的颜色代码。

可用的颜色有

  • 黑色
  • 红色
  • 绿色
  • 黄色
  • 蓝色
  • 品红色
  • 青色
  • 白色

如果传入参数的颜色名称不存在,将抛出异常。异常代码将是常量 \BfwCli\Helpers\Cli::ERR_COLOR_NOT_AVAILABLE

参数 string $type 是颜色代码将被使用的位置。值可以是 txtbg

这是为了返回正确的颜色代码。解释一下,每种颜色都有一个整数值。但是,如果颜色是文本颜色,则值应在30到39之间。如果颜色是背景颜色,则值应在40到49之间。

因此我们询问颜色将用于何处,以返回正确的值范围。

定义在shell中使用的样式代码

受保护的静态函数 styleForShell(string $style): int

此方法将为字符串样式名称返回shell中使用的样式代码。

可用的样式有

  • 正常
  • 粗体
  • 非粗体
  • 下划线
  • 非下划线
  • 闪烁
  • 非闪烁
  • 反转
  • 非反转

如果参数中的样式名称不存在,将抛出异常。异常代码将是常量 \BfwCli\Helpers\Cli::ERR_STYLE_NOT_AVAILABLE