<rmcreative>

RSS

Вышел официальный HTTP клиент для Yii 2

1 июля 2016

Выпустили официальное расширение-клиент HTTP. Написано почти целиком Павлом Климовым. До последнего времени не было тегнуто как релиз из за несовместимости с PSR-7, хотя уже много где использовалось. После долгих обсуждений всё-таки решили выпускать без PSR-7. К нему, возможно, вернёмся в 2.1.x.

Выполнение HTTP запроса выглядит вот так:

use yii\httpclient\Client;
 
$client = new Client();
$response = $client->createRequest()
    ->setMethod('post')
    ->setUrl('http://example.com/api/1.0/users')
    ->setData(['name' => 'John Doe', 'email' => '[email protected]'])
    ->send();
if ($response->isOk) {
    $newUserId = $response->data['id'];
}

https://github.com/yiisoft/yii2-httpclient

Комментарии RSS

  1. №10555
    Михаил
    Михаил 01 июля 2016 г., 18:16:05

    Но.. зачем ? Есть же Guzzle и т.п.

  2. №10556
    Sam
    Sam 01 июля 2016 г., 19:07:55

    Михаил, во-первых, уже был. Во-вторых, он сильно легче как в плане зависимостей, так и в плане кода. В третьих, чтобы не плодить зоопарк в проектах.

  3. №10557
    Dr.Death
    Dr.Death 01 июля 2016 г., 19:43:52

    Чет не нашел, умеет как curl просто куки хавать и отдавать через файл?

  4. №10558
    Дмитрий
    Дмитрий 01 июля 2016 г., 21:30:04

    Пока Guzzle, пока curl. Черт, крутая штука! Спасибо!

  5. №10559
    Дмитрий
    Дмитрий 01 июля 2016 г., 21:30:40

    Кстати, Александр. Вы обещали статью про AR, но так и не опубликовали. А мы ждем :)

  6. №10560
    Nepster
    Nepster 01 июля 2016 г., 23:20:35
    if ($response->isOk)

    Что ... ? =0

    А есть

    if ($response->isNeOk)

    ?

  7. №10561
    Sam
    Sam 02 июля 2016 г., 1:19:35

    Дмитрий, потому что я её ещё не написал...

    Nepster,

    if (!$response->isOk)
  8. №10562
    Nepster
    Nepster 02 июля 2016 г., 22:37:00

    Sam, почему не

    if (!$response->isSuccess())

    Почему такое название и доступ к публичному свойству ?

  9. №10563
    Александр
    Александр 02 июля 2016 г., 22:41:58

    Собираетесь в дальнейшем переписывать на PSR-7? Если да - поломаете совместимость?

  10. №10564
    Sam
    Sam 03 июля 2016 г., 0:46:11

    Nepster, а почему нет?

    Александр, скорее всего оба ответа "да". Но это будет не 2.0, а 2.1.

  11. №10566
    Nepster
    Nepster 03 июля 2016 г., 12:27:19

    Sam, остается возможность случайно перезаписать результат свойства, например классическая ошибка по невнимательности:

    if (!$response->isOk = true)

    и дебажить можно долго.

    Ну и именование на мой взгляд какое-то сомнительное. Я щас чем больше углубляюсь в ооп, тем меньше понимаю подходы в yii. Ну тоесть есть много моментов которые просто посклеивали и как-то умышленно отошли от всех рекомендаций и бест практик.

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.