W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
除了通過在瀏覽器中輸入URL的方式訪問我們的應(yīng)用程序 Controllers 我們還可以通過命令行(CLI)的方式調(diào)用程序。
命令行是一個基于文本的與計算機(jī)交互方式。更多的內(nèi)容,可以通過 維基百科的文章 了解。
對于 CodeIgniter 而言,有很多理由需要你使用命令行。但他們并非顯而易見。
is_cli()
的返回值,使你的定制腳本無法通過URL訪問。首先我們來新建一個簡單的控制器,這樣你就可以看到他的行為。使用你的編輯器,新建一個名為 Tools.php 的文件,并在文件中寫入如下代碼:
<?php
class Tools extends \CodeIgniter\Controller {
public function message($to = 'World')
{
echo "Hello {$to}!".PHP_EOL;
}
}
然后將這個文件保存在 application/Controllers/ 目錄下。
通常你會使用如下的URL訪問你的網(wǎng)站:
example.com/index.php/tools/message/to
然而,我們現(xiàn)在要打開 Mac/Linux 下的 Terminal 或者在 Windows 下點擊 運行并輸入“cmd”之后進(jìn)入我們 CodeIgniter 項目的 web 根目錄,并執(zhí)行以下命令:
$ cd /path/to/project/public
$ php index.php tools message
如果你的操作正確,你將會看到這個輸出 Hello World!
$ php index.php tools message "John Smith"
我們可以在這里像傳入URL參數(shù)一樣,傳入一個參數(shù)?!癑ohn Smith”這個參數(shù)作為輸入得到的的輸出如下:
Hello John Smith!
簡而言之,就是我們要知道命令行上的控制器。需要記住的是,這是一個正常的控制器,所以路由和 _remap()
都是正常運作的。
但是, CodeIgniter 提供了額外的工具,可以是更加輕松地創(chuàng)建 CLI 可訪問的腳本:包括 CLI-only 路由和一個幫助你使用 CLI-only 工具的庫。
在 Routes.php 文件中你可以像創(chuàng)建其他路由的方式輕松新建只能通過 CLI 方式訪問的路由,這些路由并不是使用類似 get()
、 post()
,或者其他類似的方法,在這里你需要使用 cli()
方法:
$routes->cli('tools/message/(:segment)', 'Tools::message/$1');
更多信息,可以查看這里 Routes 。
CLI 庫讓我們的 CLI工作變得簡單。它提供了簡單的方法然我們將多種顏色的文本輸出在終端上。它還可以讓你給用戶輸出提示信息,構(gòu)建出一個更加智能的工具。
更多信息,可以查看這里 CLI Library 。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: