共同学习一下在yii2中创建命令。

 

一 、 首先 根目录下console目录就是配置的地方

1、查看当前项目控制台已有的脚本命令

 

正如你在截图中看到,Yii 中已经定义了一组默认情况下可用的命令:

 

AssetController – 允许合并和压缩你的 JavaScript CSS 文件。 在 资源使用 asset 命令 一节可获取更多信息。

CacheController – 清除应用程序缓存。

FixtureController – 管理用于单元测试 fixture 的加载和卸载。 这个命令的更多细节在 Testing Section about Fixtures.

HelpController – 提供有关控制台命令的帮助信息, 这是默认的命令并会打印上面截图所示的输出。

MessageController – 从源文件提取翻译信息。 要了解更多关于这个命令的用法,请参阅 I18N 章节.

MigrateController – 管理应用程序数据库迁移。 在 数据库迁移章节 可获取更多信息。

ServeController – Allows you run PHP built-in web server.

2、创建一个自己的控制台命令

 

<?php

/**

 * Created by DemoController.php.

 * User: gongzhiyang

 * Date: 19/6/18

 * Time: 6:40 下午

 */

 

 

namespace console\controllers;

 

 

use yii\console\Controller;

 

/**

 * demo

 * Class DemoController

 * @package console\controllers

 */

class DemoController extends Controller

{

         /**

          * 添加缓存

          */

         public function actionAdd()

         {

                   $hashKey = 'caiyu';

                   $field = 'nine';

                   $val = 9;

                   return $val;

         }

 

         /**

          * 删除缓存

          */

         public function actionDel()

         {

                   $hashKey = 'caiyu';

                   //

                   $field = ['nine', 'six'];

                   return $field;

         }

}

3、我们就可以在项目根目录下执行上面创建的命令

 

gongzgiyangdeMacBook-Air:yii2advanced gongzhiyang$ ./yii  demo/add

 [x] Sent 'Hello World!'

gongzgiyangdeMacBook-Air:yii2advanced gongzhiyang$ ./yii  demo/del

 [x] Sent 'Hello World!'

4、总结

控制台命令可以实现很多功能,比如数据库迁移、定时任务、清除应用临时缓存等诸多自动化维护的功能。在实际项目开发中还是会经常用到的。