之所以放到此专栏主要是该文章对我们学习yii2-queue有很大帮助。
我们经常使用yii2开发命令行应用,也会遇到比如让用户在命令行输入信息、选择等操作,今天为大家介绍的这个yii2的Console类轻松的帮你搞定这件事情,有了它,你的命令行应用将更加高逼格。
为了学习更简单,我们用问答的形式开始。
Console在哪里h1>
Console是yii2的一个帮助类,所在文件夹为 /vendor/yiisoft/yii2/helpers,里面有 BaseConsole 和 Console ,Console类继承于BaseConsole,BaseConsole不允许被调用,因此我们都是使用Console类。
在代码里要使用套路
Hello World
当我们开发yii2的控制台应用的时候,可以echo一个字符串,这样命令行会显示,那么用Console如何实现那码
对,用Console::output,你可能会说,“这还没有echo简单那那么我们接着看。
五彩缤纷的Hello World
我现在想让Hello是黄色的,World是绿色的,怎么玩p>
Console::ansiFormat可以为字符串增加更多样式。
那么Console一共支持多少种前景色和背景色那p>
- 前景色 FG_BLACK / FG_RED / FG_GREEN / FG_YELLOW / FG_BLUE / FG_PURPLE / FG_CYAN / FG_GREY
- 背景色 BG_BLACK / BG_RED / BG_GREEN / BG_YELLOW / BG_BLUE / BG_PURPLE / BG_CYAN / BG_GREY
哥,内容能加粗么h1>
必须的了,你以为就是颜色么把其他样式再说下,比如加粗、斜体等等,看代码
如果你的英文不达标可以看效果图
用户写太危险,我要他选择。
你说的有道理,你是要用户进行单选题是吧,比如性别等。
Console::select 施展着小魔法
聪明的你一定发现了吧,如果你不输入直接回车则在上面的代码中表示你选择了no,具体是yes还是no取决于confirm的第二个参数是true还是false。
还有更你x的么h1>
那就说一个,上面我们说了用户输入是不靠谱的,因此Console也提供了一个验证方法,看代码
prompt很像yii2中ar的rules方法,对每个输入进行验证,通过才能继续下面的代码,比如上面的代码是说必须填写,否则抛出错误信息并让你继续输入
帅气吧,你在linux系统上应该不止一次看到它吧,用Console也可以轻松实现
startProgress、updateProgress、endProgress。
三个你一眼可以看懂的函数就可以搞定,具体什么时候使用,发挥你强大的想象力吧。
小结
多么有趣的Console类,当然其实还有很多小方法,比如清空命令行,屏幕尺寸、字符串长度等等,总之你的控制台离不开它。
阿北的知识分享 https://nai8.me
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!