怎么在YII2框架中使用控制台命令

本篇文章给大家分享的是有关怎么在YII2框架中使用控制台命令,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

我们在commands目录下创建TestController.php,当然脚本的位置是可以随意指定的,只需要在config/console.php中配置好就行。

$config=[
	'controllerNamespace'=>'app\commands',
];

TestController.php代码如下:

<?php

namespaceapp\commands;

useYII;
useyii\console\Controller;
useyii\console\ExitCode;
useyii\helpers\Console;

//注意控制台程序必须继承自yii\console\Controller
classTestControllerextendsController
{
public$param1;
public$param2;
public$param3;

//指定用于控制台的选项
publicfunctionoptions($actionID)
{
return[
'param1',
'param2',
'param3',
];
}

//如果这些选项名称太长,可以取个短的别名
publicfunctionoptionAliases()
{
return[
'p1'=>'param1',
'p2'=>'param2',
'p3'=>'param3',
];
}

//定义控制台运行的方法
//yiitest/test1-p1=hello-p2=world-p3=!!!
publicfunctionactionTest1()
{
echo$this->param1,'',$this->param2,'',$this->param3,"\n";
returnExitCode::OK;
}

//我们可以获取控制台传过来的参数
//注意,函数第一个参数,对应控制台传过来的第一个参数,依次类推,不要把顺序搞错了。
//yiitest/test2aabbcc
publicfunctionactionTest2($p1='',$p2='',$p3='')
{
echo$p1,'',$p2,'',$p3,"\n";
returnExitCode::OK;
}

//当然控制台也可以一次传多个数据过来,这就需要把函数参数声明为一个array
//控制台传参时就需要把传递的数据通过逗号连接起来,YII2通过处理变成数组
//yiitest/test3aa,bb,cc
publicfunctionactionTest3(array$arr)
{
echoimplode('--',$arr),"\n";
returnExitCode::OK;
}

//控制台格式和颜色的设置
//yiitest/test4
publicfunctionactionTest4()
{
//用于控制台输出
$this->stdout('hello',Console::FG_RED);
$this->stdout('world',Console::FG_GREEN);
$this->stdout('!!!',Console::FG_BLUE);
echo"\n";

$hello=$this->ansiFormat('hello',Console::FG_RED);
$world=$this->ansiFormat('world',Console::FG_GREEN);
$sigh=$this->ansiFormat('!!!',Console::FG_BLUE);
echo$hello,'',$world,'',$sigh,"\n";
returnExitCode::OK;
}
}

运行结果如下:

怎么在YII2框架中使用控制台命令

以上就是怎么在YII2框架中使用控制台命令,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注恰卡编程网行业资讯频道。

发布于 2021-03-21 22:38:16
收藏
分享
海报
0 条评论
169
上一篇:如何在Android Studio 中使用aidl自定义类 下一篇:怎么在vue项目中检查flow类型
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码