PHP路由设计
程序员文章站
2022-05-20 09:53:17
...
PHP路由分发的时候,如果希望默认绑定一个模块分发的话,那么是在解析的时候补上去好还是分析的时候判断比较好?
本题题眼是:现在有这么一种情况,我可以配置一个默认模块,当没有匹配到特殊路由的情况下,所有控制器与操作都指向同一个模块,那么我应该在哪个逻辑步骤完成这个过程呢?
本题题眼是:现在有这么一种情况,我可以配置一个默认模块,当没有匹配到特殊路由的情况下,所有控制器与操作都指向同一个模块,那么我应该在哪个逻辑步骤完成这个过程呢?
回复内容:
PHP路由分发的时候,如果希望默认绑定一个模块分发的话,那么是在解析的时候补上去好还是分析的时候判断比较好?
本题题眼是:现在有这么一种情况,我可以配置一个默认模块,当没有匹配到特殊路由的情况下,所有控制器与操作都指向同一个模块,那么我应该在哪个逻辑步骤完成这个过程呢?
我觉得应该是在解析的时候补上的,理由就是你的题眼本身不是好的方案。一个项目可能有N个模块,但是默认模块只有一个,为什么要在N-1个模块都匹配失败的时候再考虑默认模块的匹配呢?
所以我觉得是解析的时候先按照默认模块进行匹配,失败之后才去匹配其它模块的。
特殊的路由写成配置文件,挨个匹配, 普通的路由就按 PATH_INFO 对应模块/action就行了
看很多php框架为了山寨rails的路由功能都是东施效颦
下一篇: python之调度器的用法