Параметр HTTP PUT - PullRequest
       8

Параметр HTTP PUT

1 голос
/ 16 января 2012

Создаю rest-webservice с php-фреймворком «tonic».У меня есть класс пользователя и справиться с ним с библиотекой.В соответствии с CRUD я использую HTTP_PUT для ОБНОВЛЕНИЯ пользователя:

function put($request) {
    $response = new Response($request);
    $split = explode ('&',$request);
    $para = array();

    foreach($split as $i) {
        $names = explode('=',$i);
        $para[$names[0]] = $names[1];
    }
    $response->body = var_dump($para);
    return $response;
}

Мой вопрос: как мне получить доступ к параметрам вызова?

В данный момент я анализирую его вручную в массив.

1 Ответ

3 голосов
/ 16 января 2012

PHP не будет переводить классический запрос application / x-www-form-urlencoded в $ _POST / $ _GET, если метод PUT (а $ _PUT отсутствует).

Так что, если вы используете этот тип контента, вам придется анализировать строку запроса вручную:

<?php
$putdata = fopen("php://input", "r");
$para    = parse_str($putdata);

http://www.php.net/manual/en/features.file-upload.put-method.php

...