PHP路由设计

WBOY
WBOYOriginal
2016-06-06 20:13:471335Durchsuche

PHP路由分发的时候,如果希望默认绑定一个模块分发的话,那么是在解析的时候补上去好还是分析的时候判断比较好?
本题题眼是:现在有这么一种情况,我可以配置一个默认模块,当没有匹配到特殊路由的情况下,所有控制器与操作都指向同一个模块,那么我应该在哪个逻辑步骤完成这个过程呢?

回复内容:

PHP路由分发的时候,如果希望默认绑定一个模块分发的话,那么是在解析的时候补上去好还是分析的时候判断比较好?
本题题眼是:现在有这么一种情况,我可以配置一个默认模块,当没有匹配到特殊路由的情况下,所有控制器与操作都指向同一个模块,那么我应该在哪个逻辑步骤完成这个过程呢?

我觉得应该是在解析的时候补上的,理由就是你的题眼本身不是好的方案。一个项目可能有N个模块,但是默认模块只有一个,为什么要在N-1个模块都匹配失败的时候再考虑默认模块的匹配呢?
所以我觉得是解析的时候先按照默认模块进行匹配,失败之后才去匹配其它模块的。

特殊的路由写成配置文件,挨个匹配, 普通的路由就按 PATH_INFO 对应模块/action就行了
看很多php框架为了山寨rails的路由功能都是东施效颦

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn