更改Symfony默认路由类

时间:2012-02-27 23:00:49

标签: routing symfony1 symfony-1.4 yaml

在symfony的routing.yml中,您可以指定一个不同的类来代替sfRoute。 即

routeName:
 url: /url/blah
 class: sfRequestRoute
 param: {module: mymod, action: myaction}
 requirements:
   sf_method: [get]

但是,我希望能够更改默认类,以便所有路由都使用sfRequestRoute,除非我另行指定。有没有办法做到这一点?我正在使用Symfony 1.4

2 个答案:

答案 0 :(得分:2)

不完全按照你想要的方式。在config/factories.yml中可以找到类似的东西。但在这种情况下,默认值被硬编码到sfRoutingConfigHandler。您可以尝试覆盖它,但似乎需要做很多工作才能获得简单的精确性。相反,我会jsut使用YAML参考:

routeName:
 url: /url/blah
 class: &defRouteClass 'sfRequestRoute'
 param: {module: mymod, action: myaction}
 requirements:
   sf_method: [get]

anotherRouteName:
  url: /url/blah2
  class: *defRouteClass
  param: {module: mymod, action: myotheraction}

答案 1 :(得分:1)

是的,你可以。 您应该在应用程序中更改routing.yml。 Symfony factories.yml

例如:

all:
  routing:
    class: sfRequestRoute

我测试过,它工作正常