***CI的CLI运行方式

Posted 歉信君 —— 信真科技·信守真品 www.xinzhenkj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了***CI的CLI运行方式相关的知识,希望对你有一定的参考价值。

 

 

技术分享

 

 linux下的执行命令:

1、php解释器  2、CI根目录的index.php  3、控制器所在的文件夹  4、 控制器名称  5、 方法名称  (参数)

技术分享

 

 参考文献:

http://codeigniter.org.cn/user_guide/general/cli.html

以 CLI 方式运行

除了从浏览器中通过 URL 来调用程序的 控制器 之外, 你也可以通过 CLI (命令行界面)的方式来调用。

什么是 CLI ?

CLI (命令行界面)是一种基于文本的和计算机交互的方式。 更多信息, 请查看 维基百科 。

为什么使用命令行?

虽然不是很明显,但是有很多情况下我们需要使用命令行来运行 CodeIgniter。

  • 使用 cron 定时运行任务,而不需要使用 wget 或 curl
  • 通过函数 is_cli() 的返回值来让你的 cron 页面不能通过 URL 访问到
  • 制作交互式的任务,例如:设置权限,清除缓存,备份等等
  • 与其他语言进行集成,例如可以通过 C++ 调用一条指令来运行你模型中的代码。

让我们试一试:Hello World!

让我们先创建一个简单的控制器,打开你的文本编辑器,新建一个文件并命名为 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!

就这么简单!

简单来说,这就是你需要知道的关于如何在命令行中使用控制器的所有事情了。 记住,这只是一个普通的控制器,所以路由和 _remap 也照样工作。

 

以上是关于***CI的CLI运行方式的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——cli的终端命令大全

VSCode自定义代码片段4——cli的终端命令大全

尝试使用 AWS CLI 运行 ECS 任务时出现资源:内存错误

CLI 中的 Codeigniter HMVC:未进入控制器

将 StyleCop 与 TFS CI 集成的最佳方式

从 GitLab CI 运行 sonarqube 时出错