###怎么搞
* 试试在上一章节建立的[模块]/console/command/[命令名].php里的execute方法加入下面的代码:
~~~
$output->writeln('Normal');
$output->writeln('<error>error</error>');
$output->writeln('<info>info</info>');
$output->writeln('<comment>comment</comment>');
$output->writeln('<question>question</question>');
~~~
输出:
![](https://box.kancloud.cn/2016-06-29_57735d3b113a2.png)
你没猜错!<error><info><comment><question>是TP5自带的四个命令行样式标签!
* 添加更多颜色
可以通过$output->getFormatter()->setStyle()方法设置新的样式标签。
~~~
$output->getFormatter()->setStyle([标签名], new Style([前景色], [背景色], [文字样式]);
$output->writeln('<[标签名]>Test</[标签名]>');
~~~
TP5的前景色和背景色共有[black, red, green, yellow, blue, magenta, cyan, white]几种,文字样式有[bold, underscore, blink, reverse, conceal]几种,如有需要,可以逐一试试看!
Demo:
~~~
$output->writeln('Normal');
$output->writeln('<error>error</error>');
$output->writeln('<info>info</info>');
$output->writeln('<comment>comment</comment>');
$output->writeln('<question>question</question>');
$color = ['black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white'];
$style = ['bold', 'underscore', 'blink', 'reverse', 'conceal'];
for($i = 0; $i < 1000; $i++) {
$colorSet = array_rand($color, 2);
shuffle($style);
$styleLen = mt_rand(0, 4);
$output->getFormatter()->setStyle('style_'.$i, new Style($color[$colorSet[0]], $color[$colorSet[1]], array_slice($style, 0, $styleLen)));
$output->write('<style_'.$i.'>#</style_'.$i.'>');
}
$output->writeln('Done!');
~~~
运行看看会发生什么!
![](https://box.kancloud.cn/2016-06-29_57735d3b3847e.png)
彩色的小方块,还会变色!
* * * * *
###应用
1. 命令行中的各种提示性文字