【讨论题】 Laravel中如何在不修改源码的情况下实现路由
840
等4人参与

Laravel框架中如何在不修改源码的情况下实现动态路由?

描述:
比如goods/v1/list,这样的路径就会自动映射到V1/GoodsController命名空间下的list方法。

提示:
需要了解Laravel的路由实现,可以通过继承Illuminate\Routing\Router并替换默认的路由实例的方式来实现。

参考答案:
1.创建VersionRouter继承Illuminate\Routing\Router
图片描述
2.注册到路由服务提供者
图片描述
3.http内核重写dispatchToRouter方法
图片描述
4.添加路由
图片描述
备注:参考的代码中只动态了版本号,其实也可以进一步完善规则,实现控制器以及方法名的动态识别。

我的作业
去发布

登录后即可发布作业,立即

全部作业

数据加载中...

意见反馈 帮助中心 APP下载
官方微信