【发布时间】:2010-02-05 02:14:36
【问题描述】:
使用 Zend 框架,我正在尝试在按以下模式组织的资源上为 REST api 构建路由:
- http://example.org/users/
- http://example.org/users/234
- http://example.org/users/234/items
- http://example.org/users/234/items/34
如何使用 Zend_Rest_Route 进行设置?
这是我在 bootstrap.php 文件中为用户资源 (users/:id) 设置路由的方式:
$this->bootstrap('frontController');
$frontController = Zend_Controller_Front::getInstance();
$restRoute = new Zend_Rest_Route($frontController);
$frontController->getRouter()->addRoute('default', $restRoute);
[据我了解,这是一条包罗万象的路线,因此 users/324/items/34 将导致参数设置为 id=324 和 items=34 并且所有内容都将映射到用户(前端模块)模型.从那里我想我可以测试 items 参数并在 get 请求上为用户 #324 检索项目 #34。]
访问 /users/234/items/43 和
var_dump($this->_getAllParams());
在 rest 控制器的 get 操作中会产生以下输出:
array(4) {
["controller"]=> string(5) "users"
["action"]=> string(3) "get"
[2]=> string(5) "items" ["module"]=> string(7) "default"]
}
不知何故,两个 id 都丢失了......
有人吗?
【问题讨论】:
标签: php zend-framework zend-route zend-rest zend-rest-route