使用Zttp简化Guzzle 调用

 更新时间:2017年07月02日 10:04:10   作者:lon.y@qq.com  
在 PHP 的项目中,如果你需要通过代码来发起 HTTP 请求,相信很多人对 GuzzleHttp 这个 Package 很熟悉,然而其实在使用 Guzzle 的时候,我们依然可以做得更简便一点的,下面我们就来看下今天的主角--Zhttp

Zttp 是 Adam Wathan 为了让代码更富表现力以及简化常见用例而写的一个 Guzzle 的封装。

这是使用 Zttp 去 Post 一个自定义头部内容请求的一个例子:

$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 简化了代码的写法,还能很简单地返回 JSON 格式的内容。

下面是 使用 Zttp 的几个例子:

带参数的 Post 请求#

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

Patch 请求#

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

Put 请求#

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

Delete 请求#

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

添加请求头#

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

防止重定向#

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

在 Zttp 的测试文件 中还有几个简单的示例供你查看。 目前这个包还在开发中,有兴趣的童鞋建议直接上 GitHub 吧!

相关文章

  • PHP命令Command模式用法实例分析

    PHP命令Command模式用法实例分析

    这篇文章主要介绍了PHP命令Command模式用法,结合实例形式分析了命令模式的概念、原理、使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-08-08
  • PHP的explode和implode的使用说明

    PHP的explode和implode的使用说明

    下里说道php中的explode 和implode的用法,芭蕾舞鞋,盼望对于友朋们有所辅助!
    2011-07-07
  • PHP使用Redis替代文件存储Session的方法

    PHP使用Redis替代文件存储Session的方法

    这篇文章主要介绍了PHP使用Redis替代文件存储Session的方法,结合实例形式较为详细的分析了Session的基本操作方法及使用Redis存储session的相关技巧,需要的朋友可以参考下
    2017-02-02
  • php生成随机验证码图片的示例代码

    php生成随机验证码图片的示例代码

    这篇文章主要介绍了php生成随机验证码图片的示例代码,结合实例形式分析了php生成随机验证码图片的实现方法与相关操作注意事项,文中有详细的代码示例,需要的朋友可以参考下
    2023-09-09
  • 实例分析php常量和变量的不同

    实例分析php常量和变量的不同

    在本篇文章里小编给大家整理的是一篇关于实例分析php常量和变量的不同的知识点文章,有需要的朋友们可以跟着学习参考下。
    2021-07-07
  • 浅谈socket同步和异步、阻塞和非阻塞、I/O模型

    浅谈socket同步和异步、阻塞和非阻塞、I/O模型

    下面小编就为大家带来一篇浅谈socket同步和异步、阻塞和非阻塞、I/O模型。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • PHP中的命名空间详细介绍

    PHP中的命名空间详细介绍

    这篇文章主要介绍了PHP中的命名空间详细介绍,本文讲解了命名空间(namespace)的概念、正在使用命名空间、定义命名空间、子命名空间、从命名空间中调用代码等内容,需要的朋友可以参考下
    2015-07-07
  • PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码

    PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码

    做一个内网根据MAC地址自动登录的应用,在WINDOW 2003可以正常使用,函数如下
    2011-08-08
  • PHP日期函数date格式化UNIX时间的方法

    PHP日期函数date格式化UNIX时间的方法

    这篇文章主要介绍了PHP日期函数date格式化UNIX时间的方法,实例分析了php中date函数的使用技巧,需要的朋友可以参考下
    2015-03-03
  • PHP遍历数组的6种方式总结

    PHP遍历数组的6种方式总结

    数组的遍历是PHP一个常见的编程任务,而数组又分为一维数组、二维数组和多维数组,下面这篇文章主要给大家介绍了关于PHP遍历数组的6种方式,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-11-11

最新评论