我正在尝试执行以下操作:
http://www.mydomain.com/Foo/json_bar
在我的路由文件中,我想说什么去Foo / json_ *它应该转到action.class.php文件中的相应操作
例如:
Foo / json_bar1 - >公共函数executeBar1
Foo / json_bar2 - >公共函数executeBar2
由于
答案 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
参数,就像我的第一个示例一样。