一、编写接口所需几样工具或软件(均是win7+64位)

1.phpStudy、SQLyog和编码工具的安装(sublime text/webStorm/vs code均可,按自己习惯来);

2.启动phpStudy;

如果Apache和MySQL右边的显示都是绿色的,那么说明服务启动成功;

另外注意一下开始的PHP服务版本,因为不同的版本对应不同node.js版本或SQLyog版本,如果开启不了,则自行百度解决,一般都是要下载对应支持的VC9(分32位和64位)或VC11(分32位和64位)。

3.特别要注意的是,项目代码一定要放在WWW目录下,也就是安装phpStudy的目录下。我的是phpStudy/WWW,新版phpStudy可能会不一样,多找找几个文件夹,找到WWW文件夹即可。

4.打开SQLyog,连接库环境:

SQLyog:用于操作数据库。正版的需要破解(破解方法百度),打开之后就弹出以下窗口,有四个信息是比较重要的。

1)MySQL主机地址:填写 localhost即可

2)用户名和密码:默认都是root

3)端口:默认3306

4)点击“连接”按钮进入(千万要注意:只有在mysql服务启动之后,才能点击连接,不然会出现错误码2003的错误提示)

5、创建数据库:连接成功后,右击左上角的root@localhost,然后选择创建数据库;

然后在数据库名,填写自己的数据名称;

6、创建表:创建之后,点击左边的+号打开,然后再右击table,会出现创建表的选项;

点击创建表之后弹出以下框,随后在表格里填写你想要的字段和这个字段的数据类型和长度大小以及是否为空,默认值为多少等,填写完之后点击左下角的创建表就创建成功了;

7、录入测试数据:最起初我们肯定要获取到数据的,也就是get请求,所以表中我们要填充一些数据

至此,数据库端的测试数据已经准备好了。

二、安装后台开发环境

1.这里博主用的是比较流行的后台框架lavarel,可以直接去管理一键下载即可,然后解压安装;

2.将解压后的文件夹放在phpStudy下的WWW文件夹下,开启phpStudy之后,直接在浏览器里输入:localhost/解压后的文件夹名称/server/public/,然后回车就可看到以下界面(红色框是我的文件路径),出现以下界面说明开发环境搭建成功。

三、正式编写接口

1.首先要连接到你的本地数据库(也就是刚才在SQLyog里新建的数据库)。将解压后的项目拖到编辑工具里(这里我用的sublime text),然后打开.env文件,如下图:

2.然后在里面修改一些配置。下图中我框出的六个配置要跟之前设置的要匹配,比如

DB_CONNECTION=mysql:连接的数据库类型

DB_HOST=localhost:连接的数据库域名

DB_PORT=3306:连接的数据库端口号

这个一般都是默认的,也与我们之前设置的是匹配的

最重要的是下面椭圆框框出的三个:

DB_DATABASE=test  (这个是链接的数据库名称,刚才我们新建的就是test数据库;)

下面两个是用户名和密码:默认都是root

DB_USERNAME=root
DB_PASSWORD=root

3.连接好数据库之后,在app目录下新建一个Question.php文件,用于访问question数据表;

class Question extends Model{protected $table = 'question';//这里是访问question这个表protected $primaryKey = 'id';//这是访问question表必须要带的字段protected function getDateFormat(){return time();}
}

4.开始编写真正意义上的接口了。在app/Http/Controllers目录下新建一个QuestionController.php文件,然后在上面写上:use App\Question  表示要接入这个数据,便于操作;

以下就是获取数据接口 所对应的代码

public function getQuestion(Request $request){$response = array('status'=>'0','msg'=>'failed','data'=>'');$data = array();// 获取请求参数值$questionId = $request->input("questionId");// 根据参数值去向表里查找对应的数据$question = Question::find($questionId);// 查找完毕之后,把查找到的数据赋值给response下的data字段$response['data'] = $question;$response['status'] = '2';$response['msg'] = 'success';return json_encode($response);
}

5.写完接口之后,最后是通过路由进行网络请求的,所以还要在routes目录下的web.php文件里写下:Route::any('getQuestion', "QuestionController@getQuestion"); 用于访问这个接口;

6.测试。最后一个步骤就是测试自己写的接口是否可用,测试之前一定要记得把服务器打开。在浏览器地址输入栏输入:localhost/解压后的文件夹名称/server/public/getQuestion?questionId=1 就可以获取到后台返回的数据了。这时会发现,返回的数据跟我们之前在表中填充的数据是一模一样的,那就意味着你写接口是成功的。

四、总结

在以上三个大步骤当中,肯定不是那么一帆风顺的,肯定会遇到各种各样的问题,这个时候也是考验自己发现问题和解决问题能力的时候。不过大致的后台开发过程就是这样的,但是要注意的是,这个是本地配置的开发环境,用的也是本地的数据。最后要想让自己的作品让别人也能看见并且使用,那是需要把你的代码部署到服务器的,那个时候各个配置问题又不一样了,那就要把本地的开发环境换成线上的环境了。

以上就是如何用PHP编写简单的api数据接口的详细内容,更多关于PHP编写api接口的资料请关注脚本之家其它相关文章!

如何用PHP编写简单的api数据接口相关推荐

  1. 企业实名认证api数据接口介绍

    企业信息验证api数据接口能够帮助从事互联网业务的企业核验入驻企业用户信息的真实性,杜绝出现冒用他人企业信息进行注册.使用伪造的企业信息进行注册.企业欺诈等违规行为的发生. 企业信息验证api数据接口 ...

  2. 文本语义相似度检测 API 数据接口

    文本语义相似度检测 API 数据接口 专注于语义相似判断,基于 NLP,基于机器学习. 1. 产品功能 秒级分析性能: 基于 NLP 算法智能计算: 进行语义上相似度精准检测: 底层模型以及语料库持续 ...

  3. api数据接口文档_接口文档示例(Taobao/jd/pinduoduo/开放接口调用)

    api数据接口文档_接口文档示例 本文主要是提供了一个接口文档的范文,内容修订历史.目录.时序图.接口要素描述.接口说明.使用示例.字典.FAQ.  使用MD格式文档(makedown),选择原因,容 ...

  4. API数据接口该怎么对接

    随着互联网和移动互联网的发展,API(Application Programming Interface)接口的作用越来越重要.API接口将各种平台相互连接,使得不同系统的信息可以互相获取和使用,大大 ...

  5. 农历与二十四节气 API 数据接口

    农历与二十四节气 API 数据接口 任意日期查询,农历日期返回,全年节气. 1. 产品功能 支持任意日期的农历与二十四节气查询: 节气包含当日.下一个以及全年节气与日期: 同时返回农历中文: 数据持续 ...

  6. 基金基本信息列表 API 数据接口

    基金基本信息列表 API 数据接口 实时基金代码,实时数据,含简称与拼音. 1. 产品功能 支持所有基金实时代码查询: 实时数据,包含基金类型.拼音与简称: 支持分页查询,万条数据快速查询返回: 数据 ...

  7. 场内交易基金实时数据 API 数据接口

    场内交易基金实时数据 API 数据接口 多维数据查询指标,场内基金数据,每日实时数据. 1. 产品功能 支持所有场内交易基金实时数据查询: 实时数据,支持一次查询单个或所有基金数据: 每个交易日 16 ...

  8. 场内交易基金历史数据 API 数据接口

    场内交易基金历史数据 API 数据接口 多维数据查询指标,场内基金数据,全量历史数据. 1. 产品功能 支持所有场内交易基金历史数据查询: 历史数据,支持指定日期范围返回基金数据: 多数据源清洗整合, ...

  9. A 股指数历史数据 API 数据接口

    A 股指数历史数据 API 数据接口 股指历史数据,支持指数列表获取,返回所有指数历史数据. 1. 产品功能 支持所有指数数据查询: 支持全量指数历史数据查询: 多维度的统计时间以及数据结果: 秒级查 ...

最新文章

  1. __block的初步用法
  2. maven 引入本地 jar
  3. word文档快速取消图片的链接
  4. linux cat 脚本,Linux Shell 脚本攻略 读书笔记 -- 201.cat的几种用法
  5. 初步解决博客园代码高亮的一个方案
  6. PAT乙级(1011 A+B 和 C)
  7. python 配置文件解析_python 解析配置文件
  8. js定义全局变量 vue页面_vue.js中如何定义全局变量?
  9. 计算机英语四六级考试时间2015,2015年四级考试时间安排(官方版)
  10. 问题 J: LZY订单查询
  11. Python常见问题 - pip报错 ValueError: Unable to find resource t32.exe in package pip._vendor.distlib
  12. 大学英语和计算机统考真题,2019年6月网络教育统考《大学英语B》复习题(四)...
  13. Cesium加载OpenStreetMap
  14. 知道这些网站,能让你的工作效率提高2000%!
  15. java设置连接超时_HttpClient设置连接超时时间
  16. 语句摘抄——第16周
  17. 【大学生软件测试基础】三角形类型 - 白盒测试 - 语句覆盖 -02
  18. linux内核panic
  19. 《如何戒掉坏习惯》读书笔记
  20. 年度最扎心数据:年入 100 万,却还不起 5000 块的信用卡

热门文章

  1. 练习2-3 输出倒三角图案
  2. 不小心设置了xml文件中的namespace(xmln)如何取消
  3. Cleartext vs. Plaintext vs. Ciphertext vs. Plaintext vs. Clear Text
  4. SVN打标签方法及在此过程中的问题处理
  5. 技术解析:一文看懂 Anolis OS 国密生态|龙蜥专场
  6. 三、C语言的数据类型—浮点型数据
  7. Bayesian Learning via Stochastic Gradient Langevin Dynamics
  8. gfsj(getit)
  9. Win7系统下发生一个文件夹,无法删除,解决记录
  10. 使用计算机时按什么键打开,计算机进入BIOS的快捷键是什么|打开计算机以进入BIOS设置时按下的键...