2011-06-02 43 views
1

在Zend Framework中創建一個Restful API時,你可以使用模塊嗎?如果是這樣,可以解釋一下嗎?以一個例子爲例。 (或證明文件的鏈接)在Zend Framework中創建一個Restful API時,你可以使用模塊嗎?

我有模塊調用:

產品

  • 可以具有一個控制器

實體

可以具有多於一個的控制器例如。

  • /客戶

  • /供應商

在每一個我有一個指數控制器與方法:

獲取

刪除

例子:

產品/指數/ ID = 1個&名稱=測試(將增加)

但是我想刪除單詞索引所以它的這個代替? 產品/?ID = 1 &名稱=測試(將增加)

我可以做到這一點Zend_Controller_Router_Route中的幫助,但它並沒有傳遞請求,香港專業教育學院看着getMethod,但ÿ你不能在引導階段那樣做。

有什麼辦法可以使用模塊化的Zend Framework應用程序作爲一個restful API?

+0

沒有任何有關您的引導/路由的信息,這很難解決。你應該看看REST路由器:http://framework.zend.com/manual/en/zend.controller.router.html#zend.rest.route_usage – Fge 2011-06-02 21:29:38

回答

1

是的,你可以。

您必須使用Zend_Rest_Route。它通過該方法將請求路由到正確的操作。有一個錯誤會阻止在配置文件中配置其餘路由,所以您必須在引導中添加路由。

<?php 
protected function _initRestRoute() 
{ 
    $front = Zend_Controller_Front::getInstance(); 
    $router = $front->getRouter(); 
    $restRoute = new Zend_Rest_Route(
     $front, 
     array(),  //Defaults 
     array('api') //Restful modules 
    ); 
    $router->addRoute('rest', $restRoute); 
} 

默認情況下,如果你給這樣的URL時,123綁定到變量$ ID

products/123 

你也可以指定URL像這樣,當變量綁定「 123' - > $ ID和 '測試' - > $命名

products/id/123/name/test 

該控制器應該擴展Zend_Rest_Controller類

相關問題