目前,我有一个适用于事件控制器(/ event)的REST路由。我想在EventSignUp控制器中处理事件SignUps,并将此控制器映射到/ event/signups路由。Zend Rest具有层次结构的路由
Zend Framework documentation指出URL/event/signup /:id应映射到Event_SignupController。但这对我不起作用。
我建立了我的自举类中的所有控制器的默认REST路线:
$front = Zend_Controller_Front::getInstance();
$router = $front->getRouter();
// Specifying all controllers as RESTful:
$restRoute = new Zend_Rest_Route($front);
$router->addRoute('default', $restRoute);
我缺少的东西或者是文档只是错了吗?如果文档错误,我应该采取什么方法来实现我想要的目标?
作为一个方面说明,很多现有的控制器都依赖于默认的REST路由,所以如果有一种解决方案不需要为所有现有控制器实现新的路由,那将会很不错。
编辑:文档指出/ product/ratings将被转换为Product_RatingsController,这意味着Products模块中的RatingsController。因为我的所有控制器都放置在默认模块中,所以我想要的行为不受Rest路由支持。
所以这改变了我的问题,是否有可能实现我想要的行为而不影响现有的控制器依赖于默认的休息路线?如果是这样,怎么样?如果不是,我会采取什么最好的方法?
你看到Zend_Controller_Router_Route看起来http://stackoverflow.com/questions/4846726/zend-controller-router-route –
是否有可能将GET,PUT,POST和DELETE请求与Zend REST中它们各自的方法进行匹配带有Zend_Controller_Router_Route的控制器? –
类似:$路线=新Zend_Controller_Router_Route中( '/ API /:ID', 阵列( '模块'=> 'MyModule的', '控制器'=> 'myController的', '动作'=>用strtolower( $ request-> getMethod()), ) ); –