利用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中使用sockets:从新闻组中获取文章
Oct 09 PHP
php下使用iconv需要注意的问题
Nov 20 PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
Jan 17 PHP
php调用nginx的mod_zip模块打包ZIP文件
Jun 11 PHP
PHP队列用法实例
Nov 05 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
May 12 PHP
php 截取utf-8格式的字符串实例代码
Oct 30 PHP
php正则表达式基本知识与应用详解【经典教程】
Apr 17 PHP
PHP封装的XML简单操作类完整实例
Nov 13 PHP
Thinkphp 5.0实现微信企业付款到零钱
Sep 30 PHP
对php 判断http还是https,以及获得当前url的方法详解
Jan 15 PHP
Laravel 框架路由原理与路由访问实例分析
Apr 14 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
ThinkPHP快速入门实例教程之数据分页
2014/07/01 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
2016/01/04 PHP
CL vs ForZe BO5 第五场 2.13
2021/03/10 DOTA
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
2012/12/12 Javascript
jQuery图片播放8款精美插件分享
2013/02/17 Javascript
简易js代码实现计算器操作
2013/04/15 Javascript
jquery时间下拉框小例子
2013/04/15 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
2015/09/20 Javascript
实例讲解jquery与json的结合
2016/01/07 Javascript
JavaScript类型系统之布尔Boolean类型详解
2016/06/26 Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
2016/06/28 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
Bootstrap按钮组简单实现代码
2017/03/06 Javascript
jQuery为某个div加入行样式
2017/06/09 jQuery
详解webpack分包及异步加载套路
2017/06/29 Javascript
vue使用vue-cli快速创建工程
2017/07/28 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
JavaScript函数Call、Apply原理实例解析
2020/02/17 Javascript
three.js中多线程的使用及性能测试详解
2021/01/07 Javascript
[29:59]完美世界DOTA2联赛PWL S3 Forest vs access 第二场 12.11
2020/12/13 DOTA
python目录操作之python遍历文件夹后将结果存储为xml
2014/01/27 Python
使用Python写CUDA程序的方法
2017/03/27 Python
PyCharm代码整体缩进,反向缩进的方法
2018/06/25 Python
Python使用Pygame绘制时钟
2020/11/29 Python
商务英语毕业生自荐信范文
2013/11/08 职场文书
传媒专业推荐信范文
2013/11/23 职场文书
中专药剂专业应届毕的自我评价
2013/12/27 职场文书
工程质量月活动方案
2014/02/19 职场文书
店铺转让协议书(2014版)
2014/09/23 职场文书
服务员岗位职责
2015/02/03 职场文书
求职自我推荐信
2015/03/24 职场文书
大学生安全教育主题班会
2015/08/12 职场文书
修辞手法有哪些?
2019/08/29 职场文书
能用CSS实现的就不要麻烦JavaScript了
2021/10/05 HTML / CSS
vue router 动态路由清除方式
2022/05/25 Vue.js