我想从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
答案 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脚本,它可以工作。