什麼是CLI:
CLI (指令行界面)是一種基于文本的和計算機互動的方式。 更多資訊, 請檢視 維基百科 。
為什麼使用CLI?
雖然不是很明顯,但是有很多情況下我們需要使用指令行來運作 CodeIgniter。
- 使用 cron 定時運作任務,而不需要使用 wget 或 curl
- 通過函數 is_cli() 的傳回值來讓你的 cron 頁面不能通過 URL 通路到
- 制作互動式的任務,例如:設定權限,清除緩存,備份等等
- 與其他語言進行內建,例如可以通過 C++ 調用一條指令來運作你模型中的代碼。
例子:
讓我們先建立一個簡單的控制器,打開你的文本編輯器,建立一個檔案并命名為 Tools.php,然後輸入如下的代碼:
<?php
class Tools extends CI_Controller {
public function message($to = 'World')
{
echo "Hello {$to}!".PHP_EOL;
}
}
然後将檔案儲存到 application/controllers/ 目錄下。
現在你可以通過類似下面的 URL 來通路它:example.com/index.php/tools/message/to
或者,我們可以通過 CLI 來通路。在 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!