Php Phalcon路由行为-冗余路由?

Php Phalcon路由行为-冗余路由?,php,phalcon,Php,Phalcon,我正在使用以下路由示例: 有人能给我解释一下为什么在第12行有这样一个问题: $router->add('/:controller', array(... 我们是否已经将5号线的路线定义为: $router->add('/:controller/:action/:params', array( “/:controller”是“/:controller/:action/:params”的子集 如果删除“/:controller”路由,以controller name结尾的URL将

我正在使用以下路由示例:

有人能给我解释一下为什么在第12行有这样一个问题:

$router->add('/:controller', array(...
我们是否已经将5号线的路线定义为:

$router->add('/:controller/:action/:params', array(
/:controller”是“/:controller/:action/:params”的子集

如果删除“/:controller”路由,以controller name结尾的URL将不匹配

为什么路由器不退回到默认的操作名称,我可以这样表示:

$router->setDefaultAction('index');
这是一个bug还是一个特性

谢谢

这条路线

$router->add('/:controller/:action/:params', array(
仅当它获取所有部分以使路由有效时才会执行

myapp/users/logout/dave
以上内容将匹配该路由正在查找的内容,并导致该路由执行

myapp/users
但是,由于缺少操作和参数,上述内容将不匹配。带/和不带的url也不是相同的url

由于可以使用add()根据需要添加多个路由,因此添加路由的顺序表示它们的相关性,因此最新添加的路由比第一次添加的路由具有更大的相关性。在内部,所有定义的路由都以相反的顺序遍历,直到Phalcon\Mvc\Router找到与给定URI匹配的路由并对其进行处理,而忽略其余的路由


希望这有帮助

答案清楚了吗?我决定在Phalcon论坛上重提这一点: