YII2使用控制台命令方法是什么?
Admin 2021-05-08 群英技术资讯 1856 次浏览
YII2框架如何使用控制台命令?YII2框架是一个高性能、高效率的PHP框架,这篇文章给大家分享的是关于YII2框架使用控制台命令的方法,感兴趣的朋友可以了解一下,下面我们一起看看。
有些时候我们需要通过crontab在后台跑一些定时脚本,这时候就需要用到控制台命令了。
我们在commands目录下创建TestController.php,当然脚本的位置是可以随意指定的,只需要在config/console.php中配置好就行。
$config = [ 'controllerNamespace' => 'app\commands', ];
TestController.php代码如下:
<?php
namespace app\commands;
use YII;
use yii\console\Controller;
use yii\console\ExitCode;
use yii\helpers\Console;
//注意控制台程序必须继承自yii\console\Controller
class TestController extends Controller
{
public $param1;
public $param2;
public $param3;
//指定用于控制台的选项
public function options($actionID)
{
return [
'param1',
'param2',
'param3',
];
}
//如果这些选项名称太长,可以取个短的别名
public function optionAliases()
{
return [
'p1' => 'param1',
'p2' => 'param2',
'p3' => 'param3',
];
}
// 定义控制台运行的方法
// yii test/test1 -p1=hello -p2=world -p3=!!!
public function actionTest1()
{
echo $this->param1, ' ', $this->param2, ' ', $this->param3, "\n";
return ExitCode::OK;
}
// 我们可以获取控制台传过来的参数
// 注意,函数第一个参数,对应控制台传过来的第一个参数,依次类推,不要把顺序搞错了。
// yii test/test2 aa bb cc
public function actionTest2($p1 = '', $p2 = '', $p3 = '')
{
echo $p1, ' ', $p2, ' ', $p3, "\n";
return ExitCode::OK;
}
// 当然控制台也可以一次传多个数据过来,这就需要把函数参数声明为一个array
// 控制台传参时就需要把传递的数据通过逗号连接起来,YII2通过处理变成数组
// yii test/test3 aa,bb,cc
public function actionTest3(array $arr)
{
echo implode('--', $arr), "\n";
return ExitCode::OK;
}
// 控制台格式和颜色的设置
// yii test/test4
public function actionTest4()
{
//用于控制台输出
$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";
return ExitCode::OK;
}
}
运行结果如下:

注意,windows下的命令行不会显示颜色。
现在大家对于YII2使用控制台命令的方法应该都有所了解了,上述示例有一定的借鉴价值,有需要的朋友可以参考一下,希望对大家学习有帮助。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本节主要介绍了 PHP 中 FTP 相关函数,讲解 php 如何操作 ftp 的连接、传输及文件与目录的相关操作的技巧。
在thinkphp5中,session方法用于Session的设置、获取、删除和管理操作,是一个多元化操作函数,传入不同的参数调用,可以完成不同的功能操作,语法为“session($name, $value='')”。
swoole扩展安装失败的解决办法:首先删除“/etc/php.d/”目录中的“mysqlnd.ini”文件;然后在“extension=swoole.so”上面添加“extension=mysqlnd.so”即可。
以下是对PHP数组数字键名的几点总结:键名长度只能在int长度范围内,超过int范围后将会出现覆盖等混乱情况在键名长度为int范围内存取值时,PHP会强制将数字键名转换为int数值型数字键名长度大于19位时,将变成0键名正常长度时,字符串或数值类型一样$i=126545165;$arr['126545165']='abc';$arr[126545165]
在前文中介绍的方法有些麻烦,因为必须要加载很多的文件。本文介绍的方法简单了很多,只需要加载两个文件即可。需要的可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008