0
我有一个基于模块的zend应用程序。我试图根据定义的版本号(param)适当地路由模块,即。 domain.com/api/v1。Zend自定义路由,仅带参数名称,没有值
我的应用程序看起来像这样
-application
...
--modules
----default
----api
----api2
...
我在我的引导路由器正确的路由,但到默认模块,“API”。
$frontController = Zend_Controller_Front::getInstance();
$router = $frontController->getRouter();
$route = new Zend_Controller_Router_Route(
'api/:apiversion/:controller/:action/*',
array('module' => 'api',
'apiversion' => ':apiversion',
'controller' => ':controller',
'action' => ':action')
);
$router->addRoute('api', $route);
如何根据我路径上的apiversion PARAM, 'V1', 'V2'?
domain.com/api/v2/users/id/5 => /api2/users/id/5
是的我明白,我可以让用户输入domain.com/api2/ ... - 不是我想要的。
- 是我明白我可以让用户输入domain.com/api/version/2 ... - 不是我想要的。
我只会做那些如果我想要的东西无法实现的。谢谢:)
我想我可以做一个 - > getParam(“V1”),看它是否存在,然后设置相应模块,除非有一个漂亮的,动态的方式
哼。首先尝试了几乎类似的东西,但是我得到了api:v1资源未找到问题(ACL已实施)。但现在它正在工作:p – steve 2012-08-16 20:49:30
此外,试图去寻找一个通用的版本路线,而没有定义版本号,但这将工作。 – steve 2012-08-16 20:50:37