用PHP简单写App接口
2016-08-23 14:02
197 查看
本篇是笔记尝试写的第一个PHP接口,并在iOS开发中尝试应用测试。今天给大家分享如何自己写接口来测试!
相信很多朋友在开发时遇到过这样的问题:后台什么时候提供接口?怎么才提供一个接口,其他接口什么时候给出来?没有接口我们前端怎么能做得了?
哈哈!大学学完本篇就可以自己搞个接口来返回固定的死数据来测试了!
由于本人使用的电脑是Mac,因此推荐大家使用MAMP PRO这款软件,不过是收费版,相信不想花钱的大家会有办法搞定的!
MAMP PRO这款软件是集成环境软件,已经有apache、mysql、php了,具备运行解析PHP的环境了!
如果不想使用集成环境,可以自己搭建。Mac自带了apache和PHP环境的,只需要稍加配置一下就可以使用了,然后再安装一下mysql就可以了!
大家可以看一下简单版本配置:Mac配置PHP环境 这篇文章。
这里是以MAMP PRO软件为例,如何启动服务器。如下图,我们假设服务地址为
环境启动后,就可以在浏览器中直接输入
我们的空项目在首次运行后,会自动生成
我们这里的结构是日常App开发中最常见的返回数据结构了吧?通常都是状态码、状态信息和客户端业务数据。
PHP其实也好给力,声明数组后,通过
我们有了服务器,也写了接口了,那么客户端如何请求又如何获取数据呢?我们先来看一下最简单的GET请求例子,其中使用了HYBNetworking笔者的这个开源库:
我们看一下iOS客户端的响应结果:
从响应结果可以看到,与我们服务器接口所返回的是一致的,看下图在浏览器中访问的效果:
假设我们要求传参数type过来,而且要求是数值型,用于返回不同的数据,当我们做接口测试时,就可以通过这么来干,就不需要等后台给接口了!
下面是iOS客户端如何调用刚才所写的PHP POST接口,其中使用了HYBNetworking笔者的这个开源库:
我们看看效果如下,可看到如愿地接收到了服务器返回的接口数据并解析出来了:
本篇就到此为止吧,相信大家若想学习它,一定会认真去操作一遍的!其实写下本篇文章之前,笔者也从尝试过!
今后会慢慢接触它,慢慢掌握它,一定会让你在工作上更加顺利的!
原文链接: http://www.huangyibiao.com/archives/1353
相信很多朋友在开发时遇到过这样的问题:后台什么时候提供接口?怎么才提供一个接口,其他接口什么时候给出来?没有接口我们前端怎么能做得了?
哈哈!大学学完本篇就可以自己搞个接口来返回固定的死数据来测试了!
搭建PHP环境
由于本人使用的电脑是Mac,因此推荐大家使用MAMP PRO这款软件,不过是收费版,相信不想花钱的大家会有办法搞定的!MAMP PRO这款软件是集成环境软件,已经有apache、mysql、php了,具备运行解析PHP的环境了!
如果不想使用集成环境,可以自己搭建。Mac自带了apache和PHP环境的,只需要稍加配置一下就可以使用了,然后再安装一下mysql就可以了!
大家可以看一下简单版本配置:Mac配置PHP环境 这篇文章。
启动服务器
这里是以MAMP PRO软件为例,如何启动服务器。如下图,我们假设服务地址为www.api.com,然后将项目目录与这个服务地址关联起来,看图中右下角圈圈部分:
环境启动后,就可以在浏览器中直接输入
www.api.com运行起来了!
开始GET接口
我们的空项目在首次运行后,会自动生成index.php这个文件,我们删除里面的内容,然后修改如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php $data = array( 'tid' => 100, 'name' => '标哥的技术博客', 'site' => 'www.huangyibiao.com'); $response = array( 'code' => 200, 'message' => 'success for request', 'data' => $data, ); echo json_encode($response); |
PHP其实也好给力,声明数组后,通过
json_encode函数就可以输出json格式数据了!
iOS调GET接口
我们有了服务器,也写了接口了,那么客户端如何请求又如何获取数据呢?我们先来看一下最简单的GET请求例子,其中使用了HYBNetworking笔者的这个开源库:1 2 3 4 5 6 7 8 | NSString *url = @"http://www.api.com/index.php"; [HYBNetworking getWithUrl:url refreshCache:YES success:^(id response) { } fail:^(NSError *error) { }]; |
从响应结果可以看到,与我们服务器接口所返回的是一致的,看下图在浏览器中访问的效果:
PHP POST接口
假设我们要求传参数type过来,而且要求是数值型,用于返回不同的数据,当我们做接口测试时,就可以通过这么来干,就不需要等后台给接口了!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <?php $type = $_POST['type']; $data = ''; if (isset($type) && is_numeric($type) && $type >= 0) { if ($type == 1) { $data = array( 'type' => $type, 'name' => '标哥的技术博客', 'site' => 'www.huangyibiao.com'); } else if ($type == 2) { $data = array( 'type' => $type, 'name' => '公众号:标哥的技术博客', 'site' => 'weixin search: biaogedejishuboke'); } $response = array( 'code' => 200, 'message' => 'success for request', 'data' => $data, ); echo json_encode($response); return; } $response = array( 'code' => 999, 'message' => 'argument error for request', 'data' => $data, ); echo json_encode($response); |
iOS调POST接口
下面是iOS客户端如何调用刚才所写的PHP POST接口,其中使用了HYBNetworking笔者的这个开源库:1 2 3 4 5 6 7 8 9 | NSString *url = @"http://www.api.com/index.php"; NSDictionary *params = @{@"type" : @(1)}; [HYBNetworking postWithUrl:url refreshCache:YES params:params success:^(id response) { } fail:^(NSError *error) { }]; |
小结
本篇就到此为止吧,相信大家若想学习它,一定会认真去操作一遍的!其实写下本篇文章之前,笔者也从尝试过!今后会慢慢接触它,慢慢掌握它,一定会让你在工作上更加顺利的!
原文链接: http://www.huangyibiao.com/archives/1353
相关文章推荐
- 做一个App前需要考虑的几件事
- Unity发布安卓平台——截屏保存到安卓目录方法
- android 接听和挂断实现方式
- Android code wiki
- 开源中国客户端Activity管理类(可直接用到项目中)
- 学习Java和Android的各类资源网址
- Unable to resolve target 'android-XX'解决办法
- Handler实现线程间通信的原理
- swift项目初体验--教你打造一款个性化图片浏览器(篇幅过大,慎入)
- iOS钥匙串KeyChain相关参数的说明
- web app 自适应 弹性布局之rem
- swift常用第三方
- AndroidStudio如何回到首页面
- Android开发常用方法
- 响应式函数编程_RxJava & RxAndroid
- 通过wifi与设备进行通信(Android)
- cocos lua 对plist文件的操作
- iOS 本地打包工具 自动化
- 谈谈使用破解百度云app的安全风险
- win7下Android studio添加genymotion后,运行模拟器时,Virtualbox出错(提示VBoxDD.DLL错误)的解决方案