如何解决美化数据和记录以显示在客户端输出中
我需要插件/组件/代码或其他美化我的数据的
在我的框架终端(倒数)中,用户可以使用以下命令查看我的命令列表:
php倒计时帮助
我想以某种样式显示命令:
由于倒数命令是特定的并且不可更改,因此我可以在一些txt文件中创建此格式,并且当用户键入help命令时,可以通过在终端中获取其内容来打印它
但是在某些情况下,例如当用户想要查看路线时,我需要在文本中放入未知数据。所以我需要一个函数,例如,我可以将用户路由放入带有数组的参数中,并为我创建此格式文本
类似这样的东西:
$headers = array('Command','Description','Arguments');
$help_command = Text_Beautifer(self::$commands,$headers);
$headers = array('Route','Path','Middleware');
$routes = Text_Beautifer(self::$routes,$headers);
有人知道吗?
先谢谢您
解决方法
这里确实暗示了两个问题:
- 如何美化控制台输出?
- 如何管理与命令有关的信息?
如何美化控制台输出
最简单的入门方法是使用printf
命令来格式化清单的输出。
PHP manual中有很多示例。
在How to make alignment on console in php上有一个很好的答案。
也许在终端中打印表格的最棘手的方面是将输出调整为终端的宽度,并分析数据以知道在开始打印之前列的宽度。
这是一个简单的表格,其中包含一些入门知识:
$width=22;
echo str_repeat("-",$width)."\n";
printf( "| %-10s","name");
printf( "| %6d",44);
echo " |\n";
echo str_repeat("-",$width)."\n";
创建此:
----------------------
| name | 44 |
----------------------
您可以使用以下方法检索终端窗口的宽度:
$width=intval(shell_exec("tput cols");
其余计算由您决定。
如何管理与命令有关的信息
随着我用于命令行的脚本和命令套件的增长,我已经开始考虑用于组织逻辑和表示的框架。
Symfony Console看起来不错。它处理命令选项及其要求以及帮助文本的管理。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。