透過 CLI 執行 CodeIgniter
就如同透過瀏覽器呼叫 applications 控制器 (Controllers) 一樣,我們也可以透過 command-line interface (CLI) 呼叫程式。
CLI 是什麼?
Command-line interface 是透過文字介面跟操作者溝通 更多詳細資訊,請參考 Wikipedia 文章.
為什麼使用此方法?
這裡有許多原因透過 command-line 去執行 CodeIgniter,但是它們總是被忽略。
- 透過 CLI 去執行您的 cron-jobs 而不需要使用 wget 或 curl
- 可以透過 $this->input->is_cli_request() 去判斷瀏覽器是否可以執行 cron-jobs
- 互動式 "tasks" 工作,像是動態改變權限、清除 cache 目錄、執行備份…等。
- 可以利用其他語言整合其他相關應用,例如: 亂數 C++ 程式可以呼叫一個指令和在您的 Model 裡面執行程式!
讓我們來嘗試: Hello World!
讓我們建立一支簡單的控制器來當作範例,利用您的編輯器新增檔案 tools.php, 並且將底下程式碼寫入到檔案裡面:
之後將檔案儲存到 application/controllers/ 目錄底下.
現在您可以透過瀏覽器觀鍵入底下網址:
example.com/index.php/tools/message/to
另外方式,我們可以透過 Mac/Linux 終端機或者是在 Windows 底下執行 "cmd" 去執行 CodeIgniter 專案
$ cd /path/to/project;
$ php index.php tools message
假設操作都正確,您會在螢幕上看到 Hello World!。
$ php index.php tools message "John Smith"
這裡我們也可以用同樣方式傳入 URL 參數,例如傳入 "John Smith" 螢幕將會輸出: Hello John Smith!。
就是這樣!
簡單來說就是將控制器使用在 command line,請記住這只能使用在基本控制器上面,所以只有 routing 跟 _remap 可以正常執行。