symfony 1.4:基于部分URL的路由

时间:2011-12-30 00:51:16

标签: url-routing symfony-1.4

我正在尝试执行以下操作:

http://www.mydomain.com/Foo/json_bar

在我的路由文件中,我想说什么去Foo / json_ *它应该转到action.class.php文件中的相应操作

例如:
    Foo / json_bar1 - >公共函数executeBar1     Foo / json_bar2 - >公共函数executeBar2

由于

1 个答案:

答案 0 :(得分:1)

在这种情况下,您可能会编写这样的路由规则(未经测试):

my_rule:
  url:   /Foo/json_:action/
  params: { module: myModule, sf_method: json }

这是因为:action参数是一个“魔术”参数,用于设置动作。 (通常在action块中设置params参数。

顺便说一下,sf_method是可选的,但它将请求格式设置为json。这样,任何异常也将以JSON呈现,并为json设置正确的标题。

顺便说一句,这样做的最佳做法是:     my_rule:       url:/Foo/:action.:sf_method       params:{module:myModule}

在这种情况下,您可以编写bar1操作。转到/Foo/bar1.html将呈现HTML,/Foo/bar1.json将呈现json响应。当然,您可以免费将:sf_method替换为json,并设置sf_method参数,就像我的第一个示例一样。