tp6多级控制器路由优化

本文介绍如何在 ThinkPHP6 中优化多级控制器路由,避免为每个功能编写单独路由。通过修改请求字符串,实现类似 `version/controller/action` 的访问方式,同时保持对自定义路由的支持。在路由文件开头添加特定代码,根据版本号目录自动处理请求,从而简化路由配置。
摘要由CSDN通过智能技术生成

项目需求:

因为项目开发有版本控制。

在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') ===
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值