1、明确需求
实战工作中经常会请求各种各样的接口 , 例如
•微信网页授权接口
文章插图
• 高德周边检索接口
文章插图
•发现:下图是根据接口文档开发后的代码 , 发现代码可读性差(ps. 参数的作用不详)
• 解决:通过http_build_query函数优化
文章插图
<?php2、语法说明
###微信网页授权接口
//1.声明接口
$api = "https://open.weixin.qq.com/connect/oauth2/authorize?Appid=wx56e3e3d75414b3d0&redirect_uri=http://itcast.cn/login.php&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
//2.跳转授权页面
header("Location: $api");
echo '<hr />';
【PHP使用http_build_query构造URL字符串的方法】###高德地图周边检索接口
//1.声明接口
$api = "http://restapi.amap.com/v3/place/around?key=b94b446f4ecad8b4f0e6cf758bacf915&location=121.611809,31.034800&keywords=如家&types=&radius=50000&offset=20&page=1&extensions=all";
//2.请求接口
$data = https://www.isolves.com/it/cxkf/yy/php/2020-12-30/file_get_contents($api);
//3.打印结果
var_dump($data);
作用:将数组转化为GET形式(输出结果 -> 数组键1=数组值1&....数组键n=数组值n)
语法:http_build_query(数组)
文章插图
<?php3、分析步骤
//声明接口数据
$apiData = https://www.isolves.com/it/cxkf/yy/php/2020-12-30/[
'user' => 'z3',
'age' => 18,
'sex' => 'boy'
];
//将接口数据转化为GET形式字符串
echo http_build_query($apiData);
这里我们主要通过php的http_build_query函数 , 来格式化GET请求的参数 。我们以微信网页授权接口为例 , 实现过程非常简单 , 一共只需要2个步骤:
① 将接口参数放到数组中
② 通过php的http_build_query函数来格式化GET请求的参数
接下来 , 我们老师将带领大家通过以上2个步骤来实现接口代码优化....
4、推进代码
文章插图
<?php
###微信网页授权接口
//1.声明接口数据
$apiData = https://www.isolves.com/it/cxkf/yy/php/2020-12-30/[
'appid' => 'wx56e3e3d75414b3d0', //公众号的唯一标识
'redirect_uri' => 'http://itcast.cn/login.php', //授权后重定向的回调链接地址
'response_type' => 'code', //返回类型 , 请填写code
'scope' => 'snsapi_base', //应用授权作用域:snsapi_base/snsapi_userinfo
'state' => 'STATE#wechat_redirect' //必填参数
];
//2.声明接口
$api = "https://open.weixin.qq.com/connect/oauth2/authorize?".http_build_query($apiData);
//3.跳转授权页面
header("Location: $api");
推荐阅读
- Index MySQL查询合理使用索引:别让你的数据库负重前行
- 七个步骤学会使用百度carlife,车机互联很方便
- 登山杖如何使用呢
- 登山杖使用方法是什么呢
- 从事开发多年,分不清STM32的RAM使用情况?一图弄清它
- Netty 实战:如何实现 HTTP 服务器?
- 经常使用苦瓜汁减肥法有效吗
- 电热毯对人体有害吗?
- 喝酒吃药什么后果
- 自热火锅怎么使用?