接口概述
接口介绍
接口又称为API(Application Programming Interface应用程序编程接口)。是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的访问一组例程的能力,而又无需访问源码或理解内部工作机制的细节。
一切皆为接口。只要能够提供一种服务就是接口。对于常见的接口返回数据格式为xml或者json
接口的使用原理
本质就是发送请求然后响应
接口使用的注意事项
当调用别人所提供的接口时最为重要的看文档。在文档中一定会具体的列出请求地址、请求方式、请求参数、返回格式跟返回的数据。对于比较重要的接口往往都会提供demo例如支付。对于不需要回调的接口可以直接本地进行测试。如果需要回调必须发布到外网中才可以测试
回调:当调用别人的接口完成之后,别人的接口还需要在调用自己提供的接口
curl使用
使用curl必须开启curl扩展
curl使用步骤
- 打开会话curl_init
- 设置参数curl_setopt
- 执行请求curl_exec
- 关闭会话curl_close
使用curl实现get请求
使用curl实现post请求
①创建表单
②创建php文件对请求进行处理
③使用curl工具发送post请求
结果如下
调用第三方接口的案例
申请接口使用权限
聚合数据为一个专门提供接口服务的平台。部分接口免费使用。
①注册为会员
②登录到会员中心进行个人的认证
③申请接口使用权限
④对申请的接口进行认证
⑤查看身份认证标识
查看接口使用文档
①进入接口文档
②查看文档
返回数据结果如下
演示调用接口
①编写代码调用接口
②查看结果
本地接口案例
APP登录
编写接口文档
用户登录接口 |
|||
请求地址 |
http://shop.com/demo/demo5.php |
||
请求方式 |
http协议的get或者post |
||
返回结果格式 |
Json |
||
请求参数 |
Username |
用户名 |
必填项 |
Password |
密码 |
必填项 |
|
返回结果 |
Status |
状态码 |
0失败1为成功 |
Msg |
提示信息 |
||
Data |
数据集合 |
包括了多个信息 |
代码实现
①编写代码
②效果
短信接口
短信接口注册
①注册会员
②登录进入控制台查看身份标识
③创建应用
查看应用列表
④查看模板列表
⑤设置测试号码
查看使用文档或者找demo
①找到文档入口地址
②找到短信文档的入口
③下载demo
④目录说明
测试短信发送
①将下载的demo拷贝到web目录下
②修改发送短信的文件
③继续修改发送短信文件实现发送短信
④测试查看
短信注册的流程
项目中实现短信注册
将发送短信封装成为函数
①拷贝SDK类文件
②创建发送短信的函数
③编写测试代码
正式使用短信验证码注册
①修改注册表单
②绑定点击事件触发ajax
③创建方法实现请求接口发送短信
④查看session中的内容
⑤实现倒计时效果
手机短信注册入库
①修改表结构
②修改自定义模型中字段
③实现注册入库
注册后查看数据
购物车下单
3.1、显示结算页
①修改购物车中的结算连接
②创建方法校验是否登录
③创建Order控制器方法
④处理模板显示数据
3.2、结算下单
3.2.1、数据表创建
①创建订单总表
CREATE TABLE `shop_order` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL DEFAULT ‘0’,
`tel` char(11) NOT NULL DEFAULT ” COMMENT ‘联系电话’,
`address` varchar(255) NOT NULL DEFAULT ” COMMENT ‘收货人地址’,
`shr` varchar(255) NOT NULL DEFAULT ” COMMENT ‘收货人’,
`total_price` decimal(10,2) NOT NULL DEFAULT ‘0.00’ COMMENT ‘总价格’,
`addtime` int(11) NOT NULL DEFAULT ‘0’ COMMENT ‘下单时间’,
`com` char(10) NOT NULL DEFAULT ” COMMENT ‘快递公司的编号’,
`no` varchar(255) NOT NULL DEFAULT ” COMMENT ‘快递的运单号’,
`status` tinyint(4) NOT NULL DEFAULT ‘0’ COMMENT ‘订单的状态 0表示下单 1已支付 2、已发货’,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
②创建订单详情表
CREATE TABLE `shop_order_detail` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`order_id` int(11) NOT NULL DEFAULT ‘0’ COMMENT ‘订单ID对应order表中的ID字段’,
`goods_id` int(11) NOT NULL DEFAULT ‘0’ COMMENT ‘商品ID’,
`goods_attr_id` varchar(255) NOT NULL DEFAULT ” COMMENT ‘商品属性值的ID组合’,
`goods_count` int(11) NOT NULL DEFAULT ‘0’ COMMENT ‘购买的数量’,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3.2.2、实现订单的入口
①修改表单提交
处理提交的地址
设置为表单提交
②创建方法实现订单数据入库功能
③创建模型方法
面向接口编程
面向接口编程介绍
当有多个子项目存在时,如果有业务逻辑需要修改,对应的每个子项目都需要进行代码的修改。此方式就会比较麻烦。考虑项目的扩展性。可以对每一个子项目按照MVC值保留 V与C。一旦涉及到数据操作。全部通过调用接口实现。对于接口组合到一起就是API项目
接口项目部署
①下载TP5的源码
②拷贝TP源码到项目目录下
③配置虚拟主机
③设置host文件
④重启Apache访问测试