CodeIgniter 以 CLI 方式運(yùn)行

2018-07-21 15:38 更新

以 CLI 方式運(yùn)行

除了從瀏覽器中通過(guò) URL 來(lái)調(diào)用程序的 控制器 之外, 你也可以通過(guò) CLI (命令行界面)的方式來(lái)調(diào)用。

目錄

什么是 CLI ?

CLI (命令行界面)是一種基于文本的和計(jì)算機(jī)交互的方式。 更多信息, 請(qǐng)查看 維基百科 。

為什么使用命令行?

雖然不是很明顯,但是有很多情況下我們需要使用命令行來(lái)運(yùn)行 CodeIgniter。

  • 使用 cron 定時(shí)運(yùn)行任務(wù),而不需要使用 wget 或 curl
  • 通過(guò)函數(shù) is_cli() 的返回值來(lái)讓你的 cron 頁(yè)面不能通過(guò) URL 訪問(wèn)到
  • 制作交互式的任務(wù),譬如:設(shè)置權(quán)限,清除緩存,備份等等
  • 與其他語(yǔ)言進(jìn)行集成,譬如可以通過(guò) C++ 調(diào)用一條指令來(lái)運(yùn)行你模型中的代碼。

讓我們?cè)囈辉嚕篐ello World!

讓我們先創(chuàng)建一個(gè)簡(jiǎn)單的控制器,打開(kāi)你的文本編輯器,新建一個(gè)文件并命名為 Tools.php,然后輸入如下的代碼:

<?php
class Tools extends CI_Controller {

    public function message($to = 'World')
    {
        echo "Hello {$to}!".PHP_EOL;
    }
}

然后將文件保存到 application/controllers/ 目錄下。

現(xiàn)在你可以通過(guò)類似下面的 URL 來(lái)訪問(wèn)它:

example.com/index.php/tools/message/to

或者,我們可以通過(guò) CLI 來(lái)訪問(wèn)。在 Mac/Linux 下你可以打開(kāi)一個(gè)終端,在 Windows 下你可以打開(kāi) “運(yùn)行”,然后輸入 "cmd",進(jìn)入 CodeIgniter 項(xiàng)目所在的目錄。

$ cd /path/to/project;
$ php index.php tools message

如果你操作正確,你應(yīng)該會(huì)看到 Hello World! 。

$ php index.php tools message "John Smith"

這里我們傳一個(gè)參數(shù)給它,這和使用 URL 參數(shù)是一樣的。"John Smith" 被作為參數(shù)傳入并顯示出:

Hello John Smith!

就這么簡(jiǎn)單!

簡(jiǎn)單來(lái)說(shuō),這就是你需要知道的關(guān)于如何在命令行中使用控制器的所有事情了。 記住,這只是一個(gè)普通的控制器,所以路由和 _remap 也照樣工作。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)