类 ConsoleOutput
用于输出 shell 应用程序信息的 对象包装器。 可以连接到任何可以使用 fopen() 的流资源
可以在支持它的控制台中生成彩色输出。 有一些内置的样式
error
错误消息。warning
警告消息。info
信息消息。comment
补充文本。question
用于用户提示的品红色文本success
绿色前景文本info.bg
青色背景,黑色文本warning.bg
黄色背景,黑色文本error.bg
红色背景,黑色文本success.bg
绿色背景,黑色文本
通过使用 addStyle() 定义样式,您可以创建自定义控制台样式。
在输出中使用样式
您可以使用带有要应用的样式名称的标签来格式化控制台输出。 从 shell 对象内部
$this->out('<warning>Overwrite:</warning> foo.php was overwritten.');
这将创建橙色的 "Overwrite:" 文本,而其余文本将保持正常颜色。 请参阅 ConsoleOutput::styles() 以了解有关定义您自己的样式的更多信息。 嵌套样式目前不支持。
命名空间: Cake\Console
常量
属性摘要
-
$_backgroundColors protected static
array<string, int>
彩色输出中使用的背景颜色。
-
$_foregroundColors protected static
array<string, int>
彩色输出中使用的文本颜色。
-
$_options protected static
array<string, int>
彩色输出的格式选项。
-
$_output protected
resource
输出的文件句柄。
-
$_outputAs protected
int
当前输出类型。
-
$_styles protected static
array<string, array>
在控制台输出中可用作标签的样式。 您可以使用 ConsoleOutput::styles() 修改这些样式
方法摘要
-
__construct() public
构造输出对象。
-
__destruct() public
清理并关闭句柄
-
_replaceTags() protected
用颜色代码替换标签。
-
_write() protected
将消息写入输出流。
-
getOutputAs() public
获取关于如何处理格式化标签的输出类型。
-
getStyle() public
获取当前提供的样式
-
setOutputAs() public
设置关于如何处理格式化标签的输出类型。
-
setStyle() public
设置样式。
-
styleText() public
将样式应用于文本。
-
styles() public
获取所有样式定义。
-
write() public
将一个或多个消息输出到 stdout 或 stderr。 如果没有传递参数,则只输出一个换行符。
方法详情
__construct() ¶ public
__construct(resource|string $stream = 'php://stdout')
构造输出对象。
检查是否为漂亮的控制台环境。 Ansicon 和 ConEmu 允许在 Windows 上使用漂亮的控制台,并且受支持。
参数
-
resource|string
$stream optional 要写入输出的流标识符。
抛出
Cake\Console\Exception\ConsoleException
如果给定的流不是有效的资源。
_replaceTags() ¶ protected
_replaceTags(array<string, string> $matches): string
用颜色代码替换标签。
参数
-
array<string, string>
$matches 要替换的匹配项数组。
返回
string
setOutputAs() ¶ public
setOutputAs(int $type): void
设置关于如何处理格式化标签的输出类型。
参数
-
int
$type 要使用的输出类型。 应该是类常量之一。
返回
void
抛出
InvalidArgumentException
如果是未支持的输出类型。
setStyle() ¶ public
setStyle(string $style, array $definition): void
设置样式。
创建或修改现有样式。
$output->setStyle('annoy', ['text' => 'purple', 'background' => 'yellow', 'blink' => true]);
删除样式
$this->output->setStyle('annoy', []);
参数
-
string
$style 要设置的样式。
-
array
$definition 要更改或创建的样式的数组定义。.
返回
void
write() ¶ public
write(list<string>|string $message, int $newlines = 1): int
将一个或多个消息输出到 stdout 或 stderr。 如果没有传递参数,则只输出一个换行符。
参数
-
list<string>|string
$message 要输出的字符串或字符串数组
-
int
$newlines optional 要追加的换行符数量
返回
int