资讯专栏INFORMATION COLUMN

Zttp - 一个基于 Guzzle Http 的更好用的 PHP HTTP Package

wujl596 / 2279人阅读

摘要:原文在的项目中,如果你需要通过代码来发起请求,相信很多人对这个很熟悉,然而其实在使用的时候,我们依然可以做得更简便一点的,比如我们可以使用,这是基于的另外一个。

原文:https://www.codecasts.com/blo...

在 PHP 的项目中,如果你需要通过代码来发起 HTTP 请求,相信很多人对 GuzzleHttp 这个 Package 很熟悉,然而其实在使用 Guzzle 的时候,我们依然可以做得更简便一点的,比如我们可以使用 Zttp,这是基于 Guzzle 的另外一个 HTTP Package。

大致来看看 Zttp 的用法:

1.比如发送一个携带 headersPOST 请求:

$response = Zttp::withHeaders(["Fancy" => "Pants"])->post($url, [
    "foo" => "bar",
    "baz" => "qux",
]);

$response->json();

如果你使用 Guzzle 的话,代码可能像下面这样:

$client = new Client();
$response = $client->request("POST", $url, [
    "headers" => [
        "Fancy" => "Pants",
    ],
    "form_params" => [
        "foo" => "bar",
        "baz" => "qux",
    ]
]);

json_decode($response->getBody());

所以这样比较起来,我觉得 Zttp 还是方便,Nice and clean!

2.携带 Form 表单参数的 POST 请求:

$response = Zttp::asFormParams()->post($url, [
    "foo" => "bar",
    "baz" => "qux",
]);

3.发起 Patch 请求:

$response = Zttp::patch($this->url("/patch"), [
    "foo" => "bar",
    "baz" => "qux",
]);

4.发起 PUT 请求:

$response = Zttp::put($this->url("/put"), [
    "foo" => "bar",
    "baz" => "qux",
]);

5.发起 DELETE 请求:

$response = Zttp::delete($this->url("/delete"), [
    "foo" => "bar",
    "baz" => "qux",
]);

6.添加一个可接受的 Header:

$response = Zttp::accept("banana/sandwich")->post($url);

7.阻止重定向:

$response = Zttp::withoutRedirecting()->get($url);

你可以看到,上面的这些事例代码其实可以包含了大部分的应用场景,如果说你还需要更复杂的使用方式,你可以到 Github kitetail/zttp 查看;而且,即使你还想使用 Guzzle,你依然是可以使用 Guzzle 的,所以我可以负责任地向大家推荐一下这个 Zttp 的 package.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/23059.html

相关文章

  • Laravel学习笔记之Core Concepts in Guzzle Package——Strea

    摘要:使用了来表示该,该接口也是对的抽象,暴露了一些常用方法判断是否满足要求的方法的读写相关操作获取元数据方法操作指针相关方法等等。本篇主要学习下相关使用。后续还会分享相关使用,到时见。 说明:本文主要学习guzzlehttp/guzzle package的使用,该package提供了一套发送HTTP请求API,就像phpunit package, mockery package, symf...

    singerye 评论0 收藏0
  • PHP新手开发者路线建议

    摘要:年开发者应该熟练使用,并且知道版本更新内容。对开发和运维人员来说,最希望的就是一次性创建或配置,可以在任意地方正常运行。是标准规范,是开发的实践标准。对开发者来说语言推荐和,全栈的选择非常多,推荐热门的 前言 在前天(2018-08-02)已经发布了PHP 7.3.0.beta1 Released 如果你还没有使用 PHP7 ,那真的很遗憾。2018年PHP开发者应该熟练使用 PHP7...

    klinson 评论0 收藏0
  • PHP发送和接收JSON请求

    摘要:发送接受是个可以访问请求的原始数据的只读流。在之前打开的数据流只能读取一次数据流不支持操作。不过,依赖于的实现,请求体数据被保存的时候,它可以打开另一个数据流并重新读取。 现在微服务中,很多API由于需要传递的参数较多所以要求用包含所有参数的JSON数据作为POST请求的请求体来替代FormData传递参数的方式,在参数量较多时POST JSON要比POST FormData便于开发和...

    PiscesYE 评论0 收藏0
  • Mix PHP V2 生态:让 Guzzle 支持 Swoole Hook 协程

    摘要:是一个非常流行的的客户端,现在各大厂的也都开始基于开发,因为只支持的协程,而默认是使用扩展的,所以开发了,能在不修改源码的情况下让协程化。 Guzzle 是一个非常流行的 PHP 的 HTTP 客户端,现在各大厂的 SDK 也都开始基于 Guzzle 开发,因为 Swoole 只支持 PHP Stream 的协程 Hook ,而 Guzzle 默认是使用 cURL 扩展的,所以 Mix...

    Flands 评论0 收藏0
  • PHP发送HTTP请求几种方式

    摘要:发送请求的方式那么这里整理一下除了使用外发送请求的方式。以一个请求为例关于的介绍文章方式使用套接字建立连接,拼接协议字符串发送数据进行请求。一个方式的例子本文介绍了发送请求的几种不同的方式。 (原文地址:https://blog.tanteng.me/2017/... 副标题:cURL库和Guzzle HTTP客户端区别 PHP 开发中我们常用 cURL 方式封装 HTTP 请求,什么...

    Stardustsky 评论0 收藏0

发表评论

0条评论

wujl596

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<