Php 路由,一个请求是否应该匹配多个路由?
我使用这里的代码()作为基础,将我的简单路由器重建为RESTful API 尽管在router.php的第49-52行(参见代码片段)之间,开发人员使用了一个循环,这意味着单个请求(方法和模式)有多个匹配项 我的问题是,一个方法/模式是否应该有多个匹配项?我的理解是,这种情况永远不会发生 如果是,在什么情况下Php 路由,一个请求是否应该匹配多个路由?,php,api,routing,Php,Api,Routing,我使用这里的代码()作为基础,将我的简单路由器重建为RESTful API 尽管在router.php的第49-52行(参见代码片段)之间,开发人员使用了一个循环,这意味着单个请求(方法和模式)有多个匹配项 我的问题是,一个方法/模式是否应该有多个匹配项?我的理解是,这种情况永远不会发生 如果是,在什么情况下 //Run the matching routes foreach ($this->_matchingRoutes as $route) { $route->run()
//Run the matching routes
foreach ($this->_matchingRoutes as $route) {
$route->run();
}
看看这个函数:
private function\u findMatchingPattern($routes,$URI){
//重置匹配模式数组
$this->_matchingRoutes=array();
foreach($routes作为$route){
如果($route->patternMatches($URI))
数组\推送($this->\匹配路由,$route);
}
}
这似乎是个奇怪的决定。我不会把你的简单路由器建立在一个声明“不再维护”的Github项目的基础上。我想知道你为什么要用这个,因为回购协议已经不再维护,而且已经有5年了。只保留了150行代码,并且与您找到的库相比,即时红旗要少得多。我知道代码可能会导致多个匹配,我的问题更符合逻辑,为什么会出现这种情况,尽管@ceejayoz和其他关于我问题的评论者提出了我没有考虑过的有效观点。@OliverGiess这永远不会发生,在我的回答中,我刚刚解释了为什么$this->\u matchingRoutes可以包含几个元素。