除了可以在浏览器中通过URL调用一个 控制器 外,也可以通过命令行接口(CLI)调用。
什么是CLI?
命令行接口是一种基于文本的和计算机交互的方式。 如果想查看更详细说明,请看Wikipedia article.
为什么使用命令行?
虽然不是必须的,但在某些情况下我们会用到命令行
- 使用 cron 定时运行任务而不需要使用 wget 或 curl
- 通过检查 $this->input->is_cli_request() 让你的 cron 任务无法通过网址访问到
- 让交互式任务可以做设置权限、清空缓存、执行备份等操作
- 与其他语言进行集成。比如一个 C++ 脚本可以调用一条指令来运行你模型中的代码!
让我们试一试:Hello World!
首先创建一个简单的控制器。使用你的文本编辑器,创建一个叫做 tools.php 的文件,并且输入如下代码:
然后将这个文件保存到你的 application/controllers/ 文件夹里。
现在正常情况下你可以通过你网站的 URL 来访问它:
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!。
就是这样!
简单的来说,这就是全部你需要知道的有关命令行中使用控制器的事情了。记住这只是一个普通的控制器,所以路由和 _remap 也照样工作。