yii2命令行控制台Console操作

有时候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 错误信息*/
    }
}
此条目发表在服务器分类目录,贴了, 标签。将固定链接加入收藏夹。

发表回复