專案開發中經常會需要使用到定時任務,YIi2中有一個功能豐富的控制臺命令,今天主要介紹一下如何使用控制臺命令撰寫以及運行定時任務,
一、入口檔案
和 web 程式 index.php 入口檔案一樣,控制臺命令也有一個入口檔案,根目錄下的 yii 檔案,
可以在入口檔案下運行:php yii

二、定時任務撰寫
下載 Yii 框架后,可以看到有個 console 目錄,里面有完整的目錄結構:組態檔、控制器、模型、日志等,

1、新建 TestController.php 檔案

這時再運行 php yii 命令可以看到末尾多了有關 test 控制器下寫的 action 方法,直接運行這個命令就可以了,

2、運行 php yii test/test-console

三、定時任務傳參
上面已經介紹了如何撰寫定時任務,接下來介紹一下如何傳參:
1、修改 TestController.php 檔案
<?php namespace console\controllers; use yii\console\Controller; class TestController extends Controller { /** * @var 引數1 */ public $param1; /** * @var 引數2 */ public $param2; /** * 設定引數 * @param string $actionID * @return array|string[] */ public function options($actionID) { return ['param1', 'param2']; } /** * 測驗腳本 */ public function actionTestConsole() { echo $this->param1 . PHP_EOL; echo $this->param2 . PHP_EOL; } }
2、上述代碼指定了兩個引數 param1、param2,通過命令 php yii (控制器)/(方法名) --(引數1)=(引數值) ==(引數2)=(引數值) …
執行:php yii test/test-console --param1=hello --param2=world

四:引數設定別名
1、傳參時可以簡化引數,設定別名:
<?php namespace console\controllers; use yii\console\Controller; class TestController extends Controller { /** * @var 引數1 */ public $param1; /** * @var 引數2 */ public $param2; /** * 設定引數 * @param string $actionID * @return array|string[] */ public function options($actionID) { return ['param1', 'param2']; } /** * 引數設定別名 * @return array */ public function optionAliases() { return ['m1' => 'param1', 'm2' => 'param2']; } /** * 測驗腳本 */ public function actionTestConsole() { echo $this->param1 . PHP_EOL; echo $this->param2 . PHP_EOL; } }
2、執行命令:php yii test/test-console -m1=hello -m2=world

注意:設定別名后引數之間使用一個橫杠連接
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/40946.html
標籤:PHP
上一篇:PHP三個常用的加密函式
