💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
# 如何对命令行进行彩色和样式输出 通过在命令行的`output`中使用颜色,你可以区分不同类型的输出(比如,重要的信息,标题,注释,等等)。 > 默认时,Windows 的 command console 不支持彩色输出。 Console 对 Windows 系统禁用了颜色输出,但如果你的命令调用了发射颜色序列的其他脚本,它们会被错误地显示为转义字符。安装[Cmder](http://cmder.net/),[ConEmu](https://conemu.github.io/),[ANSICON](https://github.com/adoxa/ansicon/releases),[Mintty](https://mintty.github.io/),[GitBash](https://git-scm.com/)或者[Cygwin](http://www.cygwin.com/)等免费程序以便为你的 windows 命令行添加颜色支持。 ## 使用颜色样式 只要你输出文本,就可以对文字加上标签以实现彩色输出。例如: ~~~ // 红色背景上的白字 $output->writeln('<error>white text on a red background</error>'); // 绿字 $output->writeln('<info>green text</info>'); // 黄字 $output->writeln('<comment>yellow text</comment>'); // 黄色色背景上的黑字 $output->writeln('<warning>black text on a yellow background</warning>'); // 青色背景上的黑字 $output->writeln('<question>black text on a cyan background</question>'); // 红背景上的白字 $output->writeln('<error>white text on a red background</error>'); // 支持混合输出 $output->writeln('<info>green text</info><question>black text on a cyan background</question>......'); ~~~ 同时 ThinkPHP5 还支持快捷彩色输出 目前支持: `info`、`error`、`comment`、`question`、`highlight`、`warning`。 即: ~~~ $output->info(green text); ~~~ 等价于: ~~~ $output->writeln(<info>green text</info>) ~~~ 标签闭合时可以用`</>`来替代,它会撤消所有由“最后一个未关闭的标签”所建立的格式化选项。 使用`\think\console\output\formatter\Style`类,也可以建立你自己的样式: ~~~ use \think\console\output\formatter\Style; // ... $style = new Style('red', 'yellow', array('bold', 'blink')); $output->getFormatter()->setStyle('fire', $style); $output->writeln('<fire>fire</fire>'); ~~~ 默认可用的前景和背景颜色是:`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`以及`white`. 另有可用的选项是:`bold`,`underscore`,`blink`,`reverse`(可开启 "`reverse video`" 模式,即将前景和背景颜色互换) 以及`conceal`(设置前景的颜色为透明,可隐藏上屏的文字却仍可以选择和复制; 此选项在要求用户键入敏感信息时常会用到)。 ~~~ // 绿字 $output->writeln('<fg=green>green text</>'); // 青背景上的黑字 $output->writeln('<fg=black;bg=cyan>black text on a cyan background</>'); // 黄背景上的粗体字 $output->writeln('<bg=yellow;options=bold>bold text on a yellow background</>'); ~~~