2015-04-28 2 views
0

Документы Zend_Http_Client являются смутными и непонятными. В настоящее время я использую следующий код, чтобы получить информацию от API Challonge:Как сделать PUT и DELETE с Zend_Http_Client

$client = new Zend_Http_Client("https://api.challonge.com/v1/tournaments/$bracket.json"); 
$client->setParameterGet(array(
    'api_key' => $apikey, 
    'include_participants' => 1, 
)); 
$feed = $client->request()->getBody(); 

Очень простой, три линии. Теперь это ПОЛУЧЕНИЕ. Как бы я сделал то же самое, что и PUT? Передача параметров и всего. Как насчет DELETE?

ответ

0

Вы бы

$client->request('POST') 

или

$client->request('DELETE') 
+0

Ах ... так просто, как добавить параметр внутри запроса? И по умолчанию GET, поэтому я никогда не нуждался в нем раньше? Как насчет 'setParameterGet'? Я заменил бы это на 'setParameterPut'? Или есть другой способ сделать это? –

+0

Он будет установленParameterPost для POST –

+0

API говорит, что он должен быть PUT, а не POST ... они взаимозаменяемы? –

3

К сожалению, я знаю, что это не имеет прямого отношения к вопросу спросил Json Аксельрод, но у меня была аналогичная проблема, и не смогли найти решение где угодно.

Я пытался сделать PUT/DELETE запрос с Magentos Varien_Http_Client

class Varien_Http_Client extends Zend_Http_Client

Так я думал, что то же самое будет применяться, что было написано в этой теме and here. Однако независимо от того, что я пробовал, я не мог получить запросы PUT или DELETE для работы.

Действительно простое решение в этом случае: Используйте Zend_Http_Client вместо Varien_Http_Client. Кажется, что класс Magentos Http Client добавляет дополнительные «удобные» методы для подготовки тела, которые не позволят запросам PUT или DELETE.

+0

@MrSnoozies должны любить эти «функции». это только заставило меня потерять два часа –

Смежные вопросы