在yii2中創建控制檯命令(console)

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章