【问题标题】:Practical example for Zend RESTful APIZend RESTful API 的实用示例
【发布时间】:2012-05-17 09:23:27
【问题描述】:
我在网上参考了很多关于这个主题的文章,但只有基本的例子。我遇到了一些实际问题。
1)。在 Zend_Rest_Controller 中有 get、post、put 和 delete 的抽象方法。我如何创建自己的函数,而不是使用 getAction、postAction 等...以响应获取请求(例如:api.abc.com/product/5 - 这将返回类别 5 的产品集) ?
2)。是否可以只为模块中的特定控制器启用休息路由?
你能举一些例子或文章吗?
【问题讨论】:
标签:
php
zend-framework
zend-rest
zend-rest-route
【解决方案1】:
我会尝试回答这个问题,因为我已经使用Zend_Rest_Controller 创建了一个 API,但是由于该项目不是公开的,所以我只能复制粘贴这么多。
1) 那么你应该使用这些方法。它们很有帮助,因为它们会迫使您将每个控制器都视为一种资源来思考。因此,对于每个资源,您应该只能定义一次 GET 动词。
public function getAction()
{
if (!is_null($this->getParam("id"))) {
$this->view->user = $userModel->getUserById($this->getParam("id",null));
$this->_helper->viewRenderer('get-user');
} else {
$userModel = new Model_Users();
$this->view->users = $userModel->getUsers();
$this->_helper->viewRenderer('get-all-users');
}
}
2) 开箱即用 - 我认为没有。但这应该不是一件坏事,因为无论如何您都应该将所有其余功能放在一个单独的模块中。