编写API小结

本文作者分享了自己初次接触PHP进行后台接口开发的经历,包括数据库查询、数据校验、增删改操作以及与前端交互。在实践中遇到的问题如图片上传的复杂流程,以及对PHP数组和调试技巧的体会。同时,作者也表达了对前端工作的敬佩,并认识到数据结构与算法的重要性。
摘要由CSDN通过智能技术生成

两年前有一门数据库的课程,粗略学习了一下SQLserver的配置和增删改查语句的写法。当时这门课有课程设计,当时水平实在太烂,在CSDN上东拼西凑,用Pyqt搭建了一个惨不忍睹的客户端,再吭哧吭哧配了个数据库,算是完成了一个企业进出货管理系统,也算对数据库的维护和使用有了初步认知。

最近负责写一个后台管理系统的接口,用到了PHP,虽然没学过,但大体过一下语法结构,也就将就开工了。IDE用的VScode(确实挺好用)

任务本身不难,毕竟是写接口,前端给啥我查啥,前端要啥我给啥,但毕竟是新语言,难免碰到一些坑,权当是回顾一下自己碰到的一些问题吧,顺便写写自己这么些天的想法。

水平较菜,难免有认知不周,还望指教。

先说工作内容:

  • 本质面向web,是对前端请求的答复,请求又分为get和post,交互方式是json格式。
  • 做几个卡片管理的接口,查数据库内卡片类型、拉单个卡片详情,修改卡片信息(包含图片上传存储),删除卡片(其实也并不是删除,加一个假删字段用于判断)
  • 做几个题库接口,查题目类型、查指定题目详情,改题目,改题目选项,假删题目

既然目标很明确了,那就主要关注如何实现了。

有别于自己开发,企业级的开发一般会事先定义好很多框架性的东西,比如前端传来的数据去哪取,用什么传回去,也会定义好众多自定义函数。而且处理数据库,会涉及到庞大的操作可能,企业一般会定义好类,相关操作直接去类里调函数,一般也就是select insert update,查询条件的写法一般直接封装好,调函数时直接传值就好。

接口的基本流程:

取数据:框架内把前端传回的数据做了处理,把json转成了数组格式,直接到指定数组内去对应字段就好了。值得一提的是:PHP的数组有键值对(key-value)的概念,一开始可能不习惯,但用起来会发现还挺好用。

数据校验:重要步骤,一般也就校验是否为空,或者一些特殊字段有长度、类型、取值的限制,做好校验反馈,通过后再取回。

增删改:该怎么调函数就怎么调,读懂自定义类的函数还是挺重要的,或者参考前人代码也是很好的方式。个人感觉目前每天就是copy前人代码进行修正……

返回前端:字面意思。

有一些好用的小技巧:

  • PHP的调试有些狗,之前用pycharm调试python可以直接监控变量值,到了PHP这好像不行(也许可能行,配什么插件应该就行),但还有个好方法,直接 var_dump($var); exit(); 人工监控变量。
  • php的foreach是个好东西,尤其是 foreach ($var as $key => $value),可以遍历键值对,对数据处理是个好方法。

再说说麻烦的地方,最近还碰到一个图片上传的事情,本质是两次post请求,第一次post将图片以文件流二进制上传,存到云端服务器的缓存去,再post把图片文件命名好,再拼接一下地址送到指定位置。方法听上去简单,细节实现麻烦不断,而且自己思考方法写起来有些冗余,要和前辈们学习如何优化思路。(这时候意识到数据结构与算法的重要性了哈哈哈)

最后,还想补一句:另一个做前端的大哥每天好像更头大,UI设计真的是浩大工程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值