【发布时间】:2011-03-01 09:18:16
【问题描述】:
我正在使用 Zend 开发一个 Rest Controller,但我对 url 到路由器的映射感到困惑。
基本上我读到了Zend Router,但我无法规划我的网址以满足上述路线。
这些是我应该映射到路由器的一些 url。
http://localhost/api/v1/tags.xml?abc=true(参数:abc=true)
http://localhost/api/v1/tags/123456.xml(参数:123456.xml)
http://localhost/api/v1/tags/123456/pings.xml(参数:123456,pings.xml)
http://localhost/api/v1/tags/123456/pings.xml?a=1&b=2(参数:123456,pings.xml,a=1,b=2)
http://localhost/api/v1/tags/123456/pings/count.xml(参数:123456,pings,count.xml)
我正在计划,对于 url 模式 1 到 3,“tags”应该是控制器,而对于 url 模式 4 到 6,“pings”应该是控制器。
现在我不确定如何配置路由器以使上述方案正常工作。 请注意,我无法更改这些网址。我可以为好答案提供 100 分的声誉分数。
【问题讨论】:
-
为什么在所有这些 URL 的开头都有/需要“public/index.php”?
-
它们不是强制性的,我删除了它们。我只担心将这些 url 路由到它们各自的控制器和操作,传递所需的参数。
-
尽量保持一致,你的路线就会清晰地出现。 > “tags”应该是控制器,对于 url 模式 4 到 6,“pings”应该是控制器。
-
我想要的是,对于模式 1 到 3 和 4 到 6,请求应该路由到不同的控制器。在一般情况下,上述所有请求都将路由到“api”控制器(如果模块是默认值),但这会使过程变得忙碌。所以我正在寻找一种将请求路由到不同控制器的方法。我怎样才能做到这一点?
标签: php zend-framework zend-route