我有一个基于模块的 zend 应用程序。我正在尝试根据定义的版本号(参数)适当地路由模块,即。domain.com/api/v1。
我的应用看起来像这样
-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 参数“v1”、“v2”进行路由?
domain.com/api/v2/users/id/5 => /api2/users/id/5
-是的,我知道我可以让用户输入 domain.com/api2/ ... -不是我想要的。
-是的,我知道我可以让用户输入 domain.com/api/version/2 ... -不是我想要的。
如果我想要的东西不能实现,我只会做那些。谢谢 :)
我想我可以做一个 ->getParam("v1") 来看看它是否存在,然后设置适当的模块,除非有一个漂亮的、动态的方式