Получение пост переменных в контроллере zend rest - PullRequest
1 голос
/ 02 апреля 2012

Я хотел бы получить POST данные, отправленные на контроллер страницы в функции init(), но я получаю пустой массив.

Однако, получение getRawBody отображает данные.

Вот команда, которую я использую:

curl http://localhost/api/page/7 -X PUT -d "test=true"

и вывод:

Array () test = true

class Api_PageController extends Zend_Rest_Controller
{
    public function init()
    {
        $this->_helper->viewRenderer->setNoRender();
        $this->_helper->layout->disableLayout();
        print_r($this->getRequest()->getPost());
        print_r($this->getRequest()->getRawBody());    
    }
}

1 Ответ

3 голосов
/ 02 апреля 2012

То, что вы хотите, это плагин PutHandler. Это заставит POST и PUT использовать одинаковые getParams ();

поместите это в ваше application.ini

resources.frontController.plugins.putHandler = Zend_Controller_Plugin_PutHandler

Тогда данные должны появиться при звонке

$this->getRequest->getParams();
...