项目需求:
因为项目开发有版本控制。
在tp5的时候,可以通过配置
// 自动搜索控制器
'controller_auto_search' => true
来实现可以通过 version/controller/action 来访问,并且不用每写一个功能都写一个路由
但是,tp6的时候,不存在这样的设置了,在网上搜索了一圈,普遍的
要么通过 version.controller/action 来访问,要么直接修改源码
我感觉还是不满意,捣腾了下,终于解决了:
思路:
本质上就是将 version/controller/action 的请求修改为 version.controller/action
先通过 request()->pathinfo() 来获取原始的请求字符串
一番逻辑修改
最后通过 request()->setPathinfo() 来修改请求字符串
在路由文件的开始,添加以下代码:
/* ------------------------------- version/controller/action 变为 version.controller/action---------------------------*/
$pathInfo = request()->pathinfo();
$pathArr = explode('/', $pathInfo);
if (strpos($pathInfo, 'v') ===