本文实例讲述了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下的命令行不会显示颜色。
更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。
本文向大家介绍Yii2框架中日志的使用方法分析,包括了Yii2框架中日志的使用方法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Yii2框架中日志的使用方法。分享给大家供大家参考,具体如下: Yii2和Yii1.x的区别 Yii2里面日志的使用方法和Yii 1.x并不相同, 在Yii 1.x中,记录日志的方法为 后者仅在调试模式下记录日志。 这里的log方法是YiiBase的静态方法
除了用于构建 Web 应用程序的丰富功能,Yii 中也有一个拥有丰富功能的控制台, 它们主要用于创建网站后台处理的任务。 控制台应用程序的结构非常类似于 Yii 的一个 Web 应用程序。 它由一个或多个 yii\console\Controller 类组成,它们在控制台环境下通常被称为“命令”。 每个控制器还可以有一个或多个动作,就像 web 控制器。 两个项目模板(基础模版和高级模版)都有自己
本文向大家介绍YII2框架中日志的配置与使用方法实例分析,包括了YII2框架中日志的配置与使用方法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了YII2框架中日志的配置与使用方法。分享给大家供大家参考,具体如下: YII2中给我们提供了非常方便的日志组件,只需要简单配置一下就可以使用。 我们在config/web.php中配置如下: 通过下面5个方法,来写入我们自已的日志 注意我
我试图在中运行控制台应用程序,但出现错误。 异常“yii\base\UnknownPropertyException”,在F:\xampp\htdocs\mdc\vendor\yiisoft\yii2\base\Component中显示消息“设置未知属性:yii\console\Response::formatters”。菲律宾比索:209 Common\config\main本地。php Cro
本文向大家介绍Yii2框架引用bootstrap中日期插件yii2-date-picker的方法,包括了Yii2框架引用bootstrap中日期插件yii2-date-picker的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Yii2框架引用bootstrap中日期插件yii2-date-picker的方法。分享给大家供大家参考,具体如下: 最近在学习yii2 框架,发现框架很强大
本文向大家介绍YII2框架中验证码的简单使用方法示例,包括了YII2框架中验证码的简单使用方法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了YII2框架中验证码的简单使用方法。分享给大家供大家参考,具体如下: 验证码的使用是比较频繁的。YII2中已经帮我们做好了封装。 首先我们在控制器里创建一个actions方法,用于使用yii\captcha\CaptchaAction 显示页面代