2015-10-08 2 views
1

Я новичок в Guzzle и пытался прочитать документацию, но до сих пор не могу найти ответ на этот вопрос.Метод запроса клиента Guzzle возвращает объект ответа вместо объекта запроса

Например - я получаю этот код из here

$request = $client->post('http://httpbin.org/post', array(), array(
    'custom_field' => 'my custom value', 
    'file_field' => '@/path/to/file.xml' 
)); 

$response = $request->send(); 

Я попытался сделать то же самое, но при $ client-> пост() выполняется, он возвращает объект ответа, вместо запроса. Что может быть неправильным?

Я использую версию 6.

+0

Я ожидаю, что объект ответа будет возвращен ... это ответ на запрос, так что это не звучит неправильно ... почему вы думаете, что это так? –

+0

Я предоставил код из документации, поэтому я просто не понимаю правильное поведение – eatmypants

+0

Это правильное поведение .... ваш '$ request-> send()' отправляет запрос на 'http://httpbin.org/post 'сервер и получает ответ от этого сервера .... этот ответ с сервера - это возвращаемое значение, которое затем присваивается' $ response' –

ответ

0

Guzzle Docs По всем из «волшебных методов», get(), delete(), put(), post(), options(), patch() and head() возвращает объект ответа.

Если вы проверите исходный код GuzzleHttp\Client, вы увидите, что магические методы на самом деле являются абстракциями до Client::request(), обработанными Client::__call().

Независимо от типа запроса, вы всегда должны получать ответ.

+0

Это просто неудобно для меня, что docs дают код, но он не работает точно так же, как есть. – eatmypants

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