php – 如何设置分层Zend Rest路由?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 如何设置分层Zend Rest路由?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
使用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);

[据我所知,这是捕获所有路由,所以用户/ 324 / ITems / 34将导致参数设置为id = 324和items = 34,并且所有内容都将映射到Users(前端模块)模型.从那里我想我可以只是测试项目参数,并在获取请求上检索用户#324的项目#34.]< ===我刚刚检查它,似乎没有这样工作: 处理/用户/ 234 / items / 43和

var_dump($this->_getAllParams());

在其余控制器的获取动作中得到以下输出

array(4) {
 ["controller"]=> string(5) "users"
 ["action"]=>  string(3) "get"
 [2]=>  string(5) "items"  ["module"]=>  string(7) "default"]
}

不知怎的,两个ids都丢了

任何人?

AFaiK,Zend_Rest_Route中没有功能,可以让你做这样的事情.有一个建议,但不确定何时实施.您可以在Bootstrap中添加此设置来设置此自定义路由.
$front = $this->getResource('FrontController'); 
$testRoute = new Zend_Controller_Router_Route(
    'users/:user_id/items/:item_id',array(
        'controller' => 'users','action' => 'item','module' => 'default'
    )
);

$front->getRouter()->addRoute('test',$testRoute);

user_id或item_id在UsersController中的itemAction中可用作参数:

$user_id = $this->_request->getParam('user_id');

脚本宝典总结

以上是脚本宝典为你收集整理的php – 如何设置分层Zend Rest路由?全部内容,希望文章能够帮你解决php – 如何设置分层Zend Rest路由?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。