专栏首页老码农的一亩三分地《细说PHP》第四版 样章 第23章 自定义PHP接口规范 10

《细说PHP》第四版 样章 第23章 自定义PHP接口规范 10

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/ITXDL123/article/details/100651110

23.5.4 客户端访问API

按RESTful规范开发API,又有详细的帮助文档,客户端的应用就相对容易一些。下面,以PHP作为访问接口的客户端,演示API的应用。在PHP中请求接口需要使用CURL发送HTTP请求,前面我们通过CURL封装了get和post两个HTTP函数,按RESTful API的规范还需要发送put、patch、delete等HTTP请求。我们在客户端创建一个client目录,并新建一个http.php文件,封装一个HTTP类,使用CURL实现所有HTTP的请求方法,代码如下所示:

在HTTP类中封装了get()、post()、put()和delete()这4种请求方法,只要在我们的应用程序中加载本类,并实例化一个HTTP类的对象,就可以直接使用这些方法请求API了。另外,在请求我们定义的接口时,还需要进行安全验证,所以需要在客户端编写一个和API服务器中一样的签名算法,创建一个func.inc.php文件,声明一个sign()函数,代码如下所示:

在func.inc.php文件中, 也将token在该文件中声明,用于生成签名,这个算法和API中的签名算法一定要一致。客户端需要的工具都准备完成后,新建一个app.php文件,按照WebAPI文档使用全部的接口,代码如下所示:

请求API后默认返回JSON格式数据,每个接口都是简单的模拟测试,可以在项目中通过表单添加和修改数据,也可将获取的数据遍历后使用HTML和CSS处理显示,本例执行后,输出API的访问结果如图23-12所示。

图23-12 输出API的访问结果

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一些原生写法可以替代Jquery方法

    jQuery的核心是通过各种选择器,选中DOM元素,可以用querySelectorAll方法模拟这个功能。

    javascript.shop
  • 注意IE下Ajax Get缓存的问题

    ​ 常见的是ajax请求过一次以后,以后的相同url的get请求会存在下面这种情况:

    javascript.shop
  • CTF从入门到提升(十)文件上传

    白名单和上一节讲的黑名单的区别在哪里?黑名单是未经许可非法用户禁止入内,我禁止某些人入内,大部分人是可以进去的。白名单是未经允许禁止入内,只有允许的人才能进入,...

    牛油果
  • escape() VS encodeURI() VS encodeURIComponent()的区别

    JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unes...

    javascript.shop
  • 16 个超级实用的 Java 工具类

    在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。

    良月柒
  • 支付宝WPAPY个人可申请当面付,创建应用获取当面付接口信息(私钥、公钥)

    首先打开支付宝开放平台:https://openhome.alipay.com,在网页中心创建应用

    AlexTao
  • CSS实线边框渐变以及虚线边框渐变

    给border-image加linear-gradient不难理解,但是如果单纯使用border-image,会发现效果是这样的:

    javascript.shop
  • img标签不同设备加载不同尺寸的图片的几种方法

    一般来说,桌面端显示的是大尺寸的图像,文件体积较大。手机的屏幕较小,只需要小尺寸的图像,可以节省带宽,加速网页渲染。

    javascript.shop
  • 关于 URL,说几个你不知道的点!

    java.net.URL 类将 URL 地址进行了封装,并提供了解析 URL 地址的基本方法,比如获取 URL 的主机名和端口号。java.net.URLCon...

    沉默王二
  • SVG 图标在React项目中的优化

    官方文档:https://webpack.docschina.org/loaders/url-loader/

    javascript.shop

扫码关注云+社区

领取腾讯云代金券