我倾向于使用 REST/JSON,因为它在大多数情况下最简单、最快。我讨厌 XML 解析,而且 Zend Framework 支持非常轻松地创建 REST 应用程序。最重要的是,如果您确实需要扩展,它将允许您将视图和数据层分离到不同的服务器。我经常在同一个模块中使用“常规”控制器和 REST 控制器,这很容易掌握。
get/post/put/delete 动作对应 HTTP 请求类型
class MyRestController extends Zend_Rest_Controller
{
public function init()
{
$this->_helper->viewRenderer->setNoRender(true);
}
public function indexAction()
{
}
public function getAction()
{
}
public function postAction()
{
}
public function putAction()
{
}
public function deleteAction()
{
}
}
然后你必须在你的引导程序中初始化路由:
protected function _initRestRoute()
{
$this->bootstrap('frontController');
$frontController = Zend_Controller_Front::getInstance();
$restRoute = new Zend_Rest_Route($frontController);
$frontController->getRouter()->addRoute('default', $restRoute);
}
一些轻读:
http://www.techchorus.net/create-restful-applications-using-zend-framework
http://www.xfront.com/REST-Web-Services.html
http://www.develop.com/httpstatuscodesrest