Configuration symfon 1.4根据插件中的url参数加载不同的routing.yml

Configuration symfon 1.4根据插件中的url参数加载不同的routing.yml,configuration,routing,load,symfony-1.4,symfony-plugins,Configuration,Routing,Load,Symfony 1.4,Symfony Plugins,我有一个插件,需要根据查询字符串中的变量加载不同的routing.yml文件 例如: if($request->getParameter('page'){ // use routingPage.yml } else{ // use another routing.yml } 因此,如果url中的页面参数“@route1”的url_”将返回一个url,否则“@route1”的相同url_将返回其他url 如何覆盖rouing.yml加载机制来完成我想要的任务?每个应用程序只能有一个路由

我有一个插件,需要根据查询字符串中的变量加载不同的routing.yml文件

例如:

if($request->getParameter('page'){
 // use routingPage.yml
}
else{
 // use another routing.yml
}
因此,如果url中的页面参数“@route1”的url_”将返回一个url,否则“@route1”的相同url_将返回其他url


如何覆盖rouing.yml加载机制来完成我想要的任务?

每个应用程序只能有一个路由。当然,它可以被其他插件覆盖

原因很简单:如果要使用多个路由文件,比如routing1.yml和routing2.yml,它们都有一个名为route1的路由,该路由分别重定向到controller1/action和controller2/action。 也许您可以在视图中切换它,在一种情况下转到controller1/操作,在另一种情况下转到controller2/操作。但是:当一个新的请求到达时,前端控制器决定执行哪个控制器/操作:它现在如何使用哪个routing.yml


因此,我不知道您到底想实现什么,但我会在routing.yml中选择两条路线,并根据视图参数选择路线。

我为Symfony 1.4项目构建了一个系统,但它非常复杂。我最终不得不从头到脚重做Symfony的路由配置处理程序;它只是没有被设计成以这种方式覆盖。如果有一种更简单的方法来完成你需要的东西,我建议用它来代替。