YII2可以在命令行執行php命令,首先明白YII2自帶的command示列 \app\commands\HelloController
class HelloController extends Controller { /** * This command echoes what you have entered as the message. * @param string $message the message to be echoed. * @return int Exit code */ public function actionIndex($message = 'hello world') { echo $message . "\n"; return ExitCode::OK; } }
首先CD到工程的根目錄,目錄下有一個 yii文件,我們執行yii hello/index控制台打印了hello world
因此我們可以知道 命令格式如下 yii 控制器名稱/動作名稱
。
actionIndex($message = 'hello world')
有一個參數,並且有一個默認值,很多時候我們也需要這樣的操作。
所有我們執行yii hello/index helloYii
將會打印出 helloYii。
因此我們可以得知 命令格式如下 yii 控制器名稱/動作名稱 參數1 參數2...
而action方法中 actionName($parameter1,$parameter...)
。
如果需要操作數據庫則需要在config/console.php配置db因為web上的配置和command是不同的。
YII2有了這個后我們可以實現 快速插入測試數據,快速執行一些不明白的函數,快速的對自己寫的代碼進行測試,如果需要配置定時任務給服務器運行也是可以的。
如果是Linux系統的話得 給yii文件執行權限 並且命令格式如下./yii 控制器名稱/動作名稱
。
很多人也喜歡寫到一個web的action,然后用來請求,但是web的action是執行完畢才能看見結果而command里面是可以實時echo
出結果的,所有一些小動作都可以寫一個command,比如說請求一個api一萬次,並且每次都顯示出結果來。這樣有了command就能很方便的滿足上面的需求了