今天我們共同學習一下在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、總結
控制檯命令可以實現很多功能,比如數據庫遷移、定時任務、清除應用臨時緩存等諸多自動化維護的功能。在實際項目開發中還是會經常用到的。