利用PHP如何写APP接口详解


Posted in PHP onAugust 23, 2016

搭建PHP环境

由于本人使用的电脑是Mac,因此推荐大家使用MAMP PRO这款软件,不过是收费版,相信不想花钱的大家会有办法搞定的!

MAMP PRO这款软件是集成环境软件,已经有apache、mysql、php了,具备运行解析PHP的环境了!

如果不想使用集成环境,可以自己搭建。Mac自带了apache和PHP环境的,只需要稍加配置一下就可以使用了,然后再安装一下mysql就可以了!

大家可以看一下简单版本配置:Mac配置PHP环境 这篇文章。

启动服务器

这里是以MAMP PRO软件为例,如何启动服务器。如下图,我们假设服务地址为 www.api.com ,然后将项目目录与这个服务地址关联起来,看图中右下角圈圈部分:

利用PHP如何写APP接口详解

环境启动后,就可以在浏览器中直接输入 www.api.com 运行起来了!

开始GET接口

我们的空项目在首次运行后,会自动生成 index.php 这个文件,我们删除里面的内容,然后修改如下:

<?php
 
$data = array(
 'tid' => 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如何写APP接口详解

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

利用PHP如何写APP接口详解

PHP POST接口

假设我们要求传参数type过来,而且要求是数值型,用于返回不同的数据,当我们做接口测试时,就可以通过这么来干,就不需要等后台给接口了!

<?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,
 );
 
 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如何写APP接口详解

总结

本篇文章的内容到这就基本结束了,相信大家若想学习它,一定会认真去操作一遍的!今后会慢慢接触它,慢慢掌握它,一定会让你在工作上更加顺利的!希望本文对大家能有所帮助。

PHP 相关文章推荐
php缓存技术介绍
Nov 25 PHP
AJAX for PHP简单表数据查询实例
Jan 02 PHP
php max_execution_time执行时间问题
Jul 17 PHP
将CMYK颜色值和RGB颜色相互转换的PHP代码
Jul 28 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
Aug 20 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
Nov 19 PHP
php中mt_rand()随机数函数用法
Nov 24 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
Dec 18 PHP
php构造函数与析构函数
Apr 23 PHP
php使用pdo连接sqlite3的配置示例
May 27 PHP
PHP高精确度运算BC函数库实例详解
Aug 15 PHP
Laravel中前端js上传图片到七牛云的示例代码
Sep 04 PHP
PHP微信API接口类
Aug 22 #PHP
简单PHP会话(session)说明介绍
Aug 21 #PHP
PHP中ID设置自增后不连续的原因分析及解决办法
Aug 21 #PHP
PHP控制前台弹出对话框的实现方法
Aug 21 #PHP
php代码检查代理ip的有效性
Aug 19 #PHP
PHP中new static()与new self()的比较
Aug 19 #PHP
ThinkPHP3.2.1图片验证码实现方法
Aug 19 #PHP
You might like
php GD绘制24小时柱状图
2008/06/28 PHP
php 魔术方法使用说明
2009/10/20 PHP
PHP中英混合字符串截取函数代码
2011/07/17 PHP
深入for,while,foreach遍历时间比较的详解
2013/06/08 PHP
深入php常用函数的使用汇总
2013/06/08 PHP
使用PHP实现Mysql读写分离
2013/06/28 PHP
关于Blog顶部的滚动导航条代码
2006/09/25 Javascript
推荐:极酷右键菜单
2006/11/29 Javascript
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
2008/12/29 Javascript
js 判断脚本加载完毕的代码
2011/07/13 Javascript
jquery遍历之parent()和parents()的区别及parentsUntil()方法详解
2013/12/02 Javascript
使用JavaScript+canvas实现图片裁剪
2015/01/30 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
JS简单设置下拉选择框默认值的方法
2016/08/20 Javascript
webpack构建vue项目的详细教程(配置篇)
2017/07/17 Javascript
vue-cli启动本地服务局域网不能访问的原因分析
2018/01/22 Javascript
Vue.directive 自定义指令的问题小结
2018/03/04 Javascript
详解angular2如何手动点击特定元素上的点击事件
2018/10/16 Javascript
详解为什么Vue中不要用index作为key(diff算法)
2020/04/04 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
js实现菜单跳转效果
2020/12/11 Javascript
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
2019/04/01 Python
python基于gevent实现并发下载器代码实例
2019/11/01 Python
超酷炫 CSS3垂直手风琴菜单
2016/06/28 HTML / CSS
班组长的岗位职责
2013/12/09 职场文书
参观监狱心得体会
2014/01/02 职场文书
网络技术专业求职信
2014/02/18 职场文书
技校毕业生自荐信
2014/06/03 职场文书
查摆问题整改措施
2014/10/24 职场文书
自我推荐信格式模板
2015/03/24 职场文书
确保工程质量承诺书
2015/04/29 职场文书
比赛口号霸气押韵
2015/12/24 职场文书
《鸡兔同笼》教学反思
2016/02/19 职场文书
高中英语教学反思范文
2016/03/02 职场文书
pytorch 带batch的tensor类型图像显示操作
2021/05/20 Python
中国古风插画师排行榜:夏达第一,第三是阴阳师姑获鸟皮肤创作者
2022/03/18 国漫