Routing Symfony-CMF路由

Routing Symfony-CMF路由,routing,symfony-cmf,Routing,Symfony Cmf,在Symfony2 CMF中,我不了解动态路由器和链路由器之间的区别。我可以看出在语法上有差异,但我不明白这个概念 有人能告诉我概念上的区别吗?链接路由器用于链接多个路由器。如果router1无法将路由与当前路径匹配,它将转到router2并检查该路由是否与路由匹配。如果没有匹配项,它将抛出404NotFound异常 请注意,ChainRouter无法匹配路由。它必须有这样做的路由器 动态路由器是一个路由器。它将路径与路由匹配。它不是Symfony2路由器,而是动态的。它将使用RouteProv

在Symfony2 CMF中,我不了解动态路由器和链路由器之间的区别。我可以看出在语法上有差异,但我不明白这个概念


有人能告诉我概念上的区别吗?

链接路由器用于链接多个路由器。如果router1无法将路由与当前路径匹配,它将转到router2并检查该路由是否与路由匹配。如果没有匹配项,它将抛出404NotFound异常

请注意,ChainRouter无法匹配路由。它必须有这样做的路由器


动态路由器是一个路由器。它将路径与路由匹配。它不是Symfony2路由器,而是动态的。它将使用RouteProvider获取路由并将其与路径匹配。

链路由:

链路由是一个概念,在这个概念中,您可以使用不止一种路由方法,即(默认symfony路由或动态路由)。使用链路由,我们可以指定根据symfony路由器的工作情况优先选择哪种路由方法

我们举一个例子,如果我们提供更高优先级的动态路由,那么SyfFoY默认路由,那么在开始时,SyfFor路由找到动态路由,如果没有找到,那么它只尝试默认路由机制。这就是链路由工作的方式。 在gist中,链路由有助于使用具有给定优先级的多个路由机制。 如下图所示,config.yml显示了两种路由机制的优先级: //config.yml

cmf_routing:
  chain:
      routers_by_id:
         router.default: 200
        cmf_routing.dynamic_router: 100
优先级也可以用类似的方式设置。否越高,优先级越高

动态路由: 动态路由通过所谓的提供者(可能是数据库或服务)从动态源加载路由实例。 但是,DynamicRouter还能够根据匹配的路由确定要使用的控制器和模板

如果您有兴趣了解更多信息:

它澄清了很多问题。谢谢沃特J。