有时候php需要在命令行下来完成一些操作,这时候就需要命令行控制台来协助你完成了。在项目目录上创建console\controllers\indexController.php文件,复制以下代码直接运行就能看到效果了。
<?php /** * Created by PhpStorm. * User: ken * Date: 2018/7/17 * Time: 20:08 */ namespace console\controllers; use yii\helpers\Console; use yii\console\Controller; class IndexController extends Controller{ public function actionIndex(){ //进度条效果 Console::startProgress(0, 100); for ($n = 1; $n <= 100; $n++){ usleep(100); Console::updateProgress($n, 100); } Console::endProgress(); //字体颜色 只是在linux下有效果 windows出现一堆x $hello = Console::ansiFormat("Hello",[Console::FG_YELLOW,Console::BG_BLUE]);//字体和背景颜色 $world = Console::ansiFormat("World",[Console::FG_GREEN]); Console::output("{$hello} {$world}"); Console::output(Console::ansiFormat("normal",[Console::NORMAL]));//正常 Console::output(Console::ansiFormat("bold",[Console::BOLD]));//粗体 Console::output(Console::ansiFormat("italic",[Console::ITALIC]));//斜体 Console::output(Console::ansiFormat("underline",[Console::UNDERLINE]));//下划线 Console::output(Console::ansiFormat("negative",[Console::NEGATIVE])); //用户输入 $name = Console::input("请输入你的名字:"); $formatName = Console::ansiFormat($name,[Console::FG_YELLOW]); Console::output("你的名字是:{$formatName}"); //选择单选题 $sex = Console::select("性别:",[1=>'男',2=>'女']); $formatSex = Console::ansiFormat($sex,[Console::FG_YELLOW]); Console::output("你的性别是:{$formatSex}"); //对或错 if (Console::confirm("Are you sure?")){ Console::output("user input yes"); }else{ Console::output("user input no"); } //必填 强行验证 Console::prompt("你的名字",['required'=>true,'error'=>'必须输入']); /* 关于prompt方法主要是第二个参数进行限制,这是一个数组类型的参数,里面的值为 required 真假,是否必须填写 default 默认值 pattern 正则匹配 validator 自定义验证函数 error 错误信息*/ } }