php tp5 plugins,thinkphp5(tp5)使用cli模式运行

前言:

cli模式,就是命令行形式执行php文件,不依赖nginx等服务。cli模式有几个好处,1是不会过期,不管执行多久都可以。2是简单,不用考虑nginx等服务器的配置等。那么平时大家都用框架写代码。要让你写原生连接数据库做点操作效率太低。下面就介绍下如何使用thinkphp5在cli模式下执行你写的方法。

本次测试框架版本:v5.1.37 LTS

简单介绍

其实thinkphp5手册有介绍这个功能,但是不知道为什么只有一小段介绍。首先来看原生的写法用cli模式来执行 新建一个index.php文件<?php

echo "hello world";

然后再用php命令去执行这个文件php index.php

就会得到输出hello world。非常的简单。那么用thinkphp5来做cli同样很简单。

1、首先需要在一个没有登录验证的控制器下创建一个方法。我们都知道我们往往在控制器或基类控制器的构造函数中写登录验证。所以我们

需要cli时,一定不能有登录验证。一般来说会专门写一个不需要登录验证的控制器。

2、在控制器里写一个方法,这个方法就是你需要执行的内容。由于在crontab中,最高频率也就是1分钟1次。但因为cli的特性。你可以在

方法里写死循环使用sleep来控制频率,可以做到5秒一次 10秒一次 都是可以的 我就写个简单的。public function test()

{

echo '233'.PHP_EOL;

}

3、执行这个方法。执行规则实际上和url访问的规则非常的类似。大家都知道框架有一个唯一入口index.php 虽然可以通过重写来隐藏,但是实际上还是访问的这个入口文件index.php,然后通过框架的机制引入和执行控制器里的方法。thinkphp5默认使用pathinfo的形式来访问。其实cli也是这个套路,执行index.php 跟上pathinfo路径就可以了

比如:php /你的项目地址/public/index.php index/index/test

其实就是php去执行你项目的入口文件,空格后面其实就是你的 模块/控制器/方法

那么有人可能会问了,那么开启了强制路由的怎么办?经过我今天的试验,强制路由同样适用这个规则。这么牛逼的功能不知道thinkphp团队为什么不好好介绍下php /你的项目地址/public/index.php test

空格后面就是你的路由地址。更为简单清晰

最后还补充个小提示,经过我测试,当开启路由模式去使用cli时,请求方式规定为get或者any的时候可以使用。当请求方式规定为post/put/delete时,则会报错,大家要注意哦。

thinkphp5的cli模式今天就介绍到这里。虽然简单,却很实用,欢迎交流,互相学习,感谢。

声明:禁止任何非法用途使用,凡因违规使用而引起的任何法律纠纷,本站概不负责。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值