从ZEND_HTTP_CLIENT请求中获取PUT或DELETE请求的参数

时间:2015-02-18 15:45:51

标签: php rest zend-framework httprequest

我想从Zend_Http_client发送的PUT或DELETE请求中获取params:

$httpClient = new Zend_Http_Client();
$httpClient->setUri("http://mysite/mycontroller/");
$httpClient->setMethod(Zend_Http_Client::PUT);
$data = array("id"=>"1","label"=>"LABEL UPDATE");
$httpClient->setParameterPost($data);
$response = $httpClient->request();

对于POST请求,我可以毫无问题地检索params,但对于PUT或DELETE,我什么都没有... 任何的想法 ? THX

1 个答案:

答案 0 :(得分:0)

最后我找到了这个解决方案: 在Zend / Controller / Plugin /中,您可以找到PutHandler.php。它可以用于使用$ this-> getRequest() - > param_name获取PUT参数。 使用以下命令将其包含在您的boostrap.php文件中:

protected function _initRestRoute()
{
    $this->bootstrap('frontController');
    $frontController = Zend_Controller_Front::getInstance();
    $frontController->registerPlugin(new Zend_Controller_Plugin_PutHandler());
    $frontController->registerPlugin(new Zend_Controller_Plugin_DeleteHandler());
    $restRoute = new Zend_Rest_Route($frontController);
    $frontController->getRouter()->addRoute('default', $restRoute);
}

我扩展了删除参数的PutHandler.php脚本,它可以工作。