web和cli运行模式


web运行模式

就是我们一般的基于web服务器的访问脚本的模式

cli命令行运行模式

一般我们会做命令行的操作,如:定时任务脚本,我们不需要单独写一个php脚本来做,这样不便于管理,
我们可以和开发web模式一样来写命令行脚本,框架会自动判断是web还是cli模式,可以复用已有的modle和业务逻辑,不需要自己写连接MySQL、连接Redis等,
还可以方便的使用框架模型里面的方法来操作数据库

推荐的目录结构

/app
  |--cli                    cli应用
  |   |--business
  |   |--controller
  |   |   |--Cli.php
  |   |   |--Document.php
  |--h5                     web应用
/public
  |--index.php              web应用单一入口文件
/cli.php                    cli模式单一入口文件

怎样调用

格式

php cli.php 控制器/动作 参数1=参数值 参数2=参数值 ......

例子:

php cli.php document/find tag_id=109 type=2

这样就会调用cli这个应用(app/cli)下面的控制器Document里面的find方法

获取参数

public function find($tag_id = 0, $type = 0)
{
    $tag_id = (int) $tag_id;
    $type = (int) $type;
    
    ...
    业务逻辑、操作...
}

后台运行

nohu php /data/timophp/cli.php document/find tag_id=109 type=2 &