目前,我有一個適用於事件控制器(/ 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()), ) ); –