找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 987|回复: 0
打印 上一主题 下一主题

利用PHP如何写APP接口详解

[复制链接]

2560

主题

2560

帖子

7622

积分

论坛元老

Rank: 8Rank: 8

积分
7622
跳转到指定楼层
楼主
发表于 2018-2-14 05:33:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            搭建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 这个文件,我们删除里面的内容,然后修改如下:
  100,
'name' => '标哥的技术博客',
'site' => 'www.huangyibiao.com');

$response = array(
'code' => 200,
'message' => 'success for request',
'data' => $data,
);

echojson_encode($response);
我们这里的结构是日常App开发中最常见的返回数据结构了吧?通常都是状态码、状态信息和客户端业务数据。
PHP其实也好给力,声明数组后,通过 json_encode 函数就可以输出json格式数据了!
iOS调GET接口
我们有了服务器,也写了接口了,那么客户端如何请求又如何获取数据呢?我们先来看一下最简单的GET请求例子,其中使用了HYBNetworking笔者的这个开源库:
NSString *url = @"http://www.api.com/index.php";
[HYBNetworkinggetWithUrl:urlrefreshCache:YESsuccess:^(id response) {

}fail:^(NSError *error) {

}];
我们看一下iOS客户端的响应结果:

从响应结果可以看到,与我们服务器接口所返回的是一致的,看下图在浏览器中访问的效果:

PHP POST接口
假设我们要求传参数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,
);

echojson_encode($response);
return;
}

$response = array(
'code' => 999,
'message' => 'argument error for request',
'data' => $data,
);

echojson_encode($response);
iOS调POST接口
下面是iOS客户端如何调用刚才所写的PHP POST接口,其中使用了HYBNetworking笔者的这个开源库:
NSString *url = @"http://www.api.com/index.php";
NSDictionary *params = @{@"type" : @(1)};
[HYBNetworkingpostWithUrl:urlrefreshCache:YESparams:paramssuccess:^(id response) {

}fail:^(NSError *error) {

}];
我们看看效果如下,可看到如愿地接收到了服务器返回的接口数据并解析出来了:

总结

本篇文章的内容到这就基本结束了,相信大家若想学习它,一定会认真去操作一遍的!今后会慢慢接触它,慢慢掌握它,一定会让你在工作上更加顺利的!希望本文对大家能有所帮助。
            
            
您可能感兴趣的文章:
  • php 接口类与抽象类的实际作用
  • PHP面向对象的进阶学习(抽像类、接口、final、类常量)
  • 领悟php接口中interface存在的意义
  • php接口与接口引用的深入解析
  • PHP迭代器实现斐波纳契数列的函数
  • PHP迭代器的内部执行过程详解
  • php接口和抽象类使用示例详解
  • PHP面向对象程序设计之接口用法
  • 详细解读PHP中接口的应用
  • PHP编写RESTful接口
  • PHP迭代器接口Iterator用法分析
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端