前言
在开发项目过程中,经常需要用到API接口,实现对数据库的CURD等操作。
不管你是专业的PHP开发工程师,还是客户端开发工程师,或者是不懂编程但懂得数据库SQL查询,又或者是完全不太懂技术的人,通过云函数,即可实现后端低代码接口开发,做到零基础编写API接口。
云函数优势
云函数具有以下特点和优势:
1、无需管理服务器即可运行移动后端代码
2、可在线接口编程,自动生成云接口和接口文档
3、代码简单,功能强大,一行代码就可以实现数据库、短信发送等功能
4、可以开发自己的接口,实现自己的业务逻辑
5、可以提供多个客户端接入使用
6、配套完整的接口流量统计、分析、接口鉴权和开关控制
果创云MyAPI云函数架构
果创云提供的MyAPI云函数,其架构如下:
果创云云函数架构
整体架构分为四层:
第一层:MyAPI我的接口 提供给客户端调用的云接口。
第二层:云函数。 由开发者自己编写,可在线接口编程,编写云函数,生成接口。
第三层:果创云聚合服务 由果创云提供,封装了常用的服务,可进行数据库、CURL、短信等服务操作。
第四层:云服务 由第三方提供的云服务,包括但不限于自建数据库、云数据库、企业邮箱、短信接口、开放平台接口和内部接口等。
云函数示例
果创云的云函数是基于PHP语言,PHP是一门非常容易上手的后端语言。云函数默认示例如下:
function ($params, $di) { $result = array('err_code' => 0, 'err_msg' => ''); // TODO:在这里编写你的具体业务 $result['content'] = 'Hello YesApi'; return $result; // 返回接口结果}
云函数参数说明:
$params,类型:数组,为当前客户端的接口参数,由开发者配置的接口参数和客户端动态传递的参数而定,例如:array('uuid' => null, 'left' => 1, 'right' => 2)
$di,类型:数组,为DI容器,里面封装并提供了众多强大而实用的PHP服务,例如数据库操作等,对于后端编程有非常大的帮助,后面会详细介绍。
编写接口时,设置接口参数、接口返回、云函数代码等,如(局部截图):
保存后,你可以看到类似这样的在线接口文档(部分截图):
一键生成云函数,生成CURD数据API接口
在准备好数据库模型后,点击【生成CURD数据接口】
选择相应的数据模型,以及API功能:
可以生成的API功能有:
创建新数据
删除一条数据
获取数据详情
更新一条数据
获取数据列表
生成后,即可获得属于你自己的API接口。
还要以根据自己的业务需要,调整云函数的代码,实现自己的业务逻辑。
function ($params, $di) { $result = array('err_code' => 0, 'err_msg' => ''); $data = array(); $data['title'] = $this->title; $data['content'] = $this->content; $data['post_time'] = $this->post_time; $data['view_times'] = $this->view_times; $data['state'] = $this->state; $data['zhaiyao'] = $this->zhaiyao; $data['tag'] = $this->tag; $data['cate_id'] = $this->cate_id; $notorm = $di->db->article_tbl; $notorm->insert($data); $result['id'] = $notorm->insert_id(); return $result;}
一键生成云函数,生成常用接口
常用的云函数,是指一些常用的功能操作。例如:
- F1-1、两数相加
- F2-1、CURL-GET请求
- F2-2、CURl-POST请求
- F3-1、日志
- F4-1、发送邮件
- F5-1、安全-加密解密
- F6-1、拼音
- F7-1、发送短信
- F8-1、站内消息通知
- F9-1、会员
- F10-1、登录会话与凭证
- F11、实用函数
- F12、内部调用小白接口
- F13、编写回调接口API
当你需要生成这类API接口时,需要做的只是选择你要的API接口功能,然后果创云会自动为你生成相应的API接口代码。例如,对于邮件发送。
function ($params, $di) { $result = array('err_code' => 0, 'err_msg' => ''); // 第一个参数是收件人邮箱,第二个参数是邮件标题,第三个参数是邮件正文内容(HTML格式) $result['is_send'] = $di['email']->send('helper@yesapi.cn', '邮件标题', '邮件内容'); return $result;}
生成的云函数代码如上所示。再稍微调整里面的参数,包括收件人、邮件标题、邮件内容,就可以生成自己的云函数API接口了。
生成发送邮件API接口的接口效果如下,完整的接口文档显示。
一键生成云函数,生成ODM贴牌接口
果创云的小白接口,默认提供了500 款API接口。如果需要对500多款进行二次开发,可以生成ODM贴牌接口,把默认的API接口调整成自己需要的API接口。
例如,针对默认的Hello World小白接口,二次开发后的云函数,生成的源代码如下:
function ($params, $di) { $result = array('err_code' => 0, 'err_msg' => ''); // TODO:在这里实现你的业务 $odmRs = $di['odm']->call('App.Hello.World', $params); $result = array_merge($result, $odmRs); return $result;}
可根据自己的需求,调整或去掉不必要的接口参数,或者修改成自己需要的接口标题和接口功能介绍。
手动编写云函数
如果你已经熟悉云函数,可以自己编写云函数,最大化发挥编程的强大和灵活性。
例如,如果需要统计文章数据库表中的总数,只需要编写:
function ($params,$di) { $result = array('err_code' => 0, 'err_msg' => ''); $result['count'] = $di['db']->article_tbl->count('id'); // 模型名称后面须带上_tbl后缀 return $result;}
就可以生成API接口:取文章总数 SVIP.Sdogstar_MyApi.AArticleTotal
API接口调用和测试效果:
得到接口结果:
原来接口结果:
{ "ret": 200, "data": { "err_code": 0, "err_msg": "", "count": 24 }, "msg": "V3.1.0 YesApi SVIP.Sdogstar_MyApi.AArticleTotal"}
DI服务一览
果创云函数,在内部提供了以下DI服务,可以使用这些DI服务,完成绝大部分的编程功能。
- $di['db'] 我的模型数据库 可进行CURD数据库操作,针对单表
- $di['db_super'] 直连数据库 可进行CURD数据库操作,针对单表,使用前需要进行MySQL数据库直连服务配置
- $di['logger'] 日志服务 记录各种日志
- $di['email'] 邮箱服务 发送邮件,使用前需要进行邮箱服务配置
- $di['pinyin'] 拼音服务 将汉字转成拼音
- $di['curl'] CURL服务 请求远程接口,仅支持80端口
- $di['crypt'] 安全服务 对数据进行加密和解密
- $di['sms_aliyun'] 阿里云短信 通过阿里云服务发送短信,使用前需要进行阿里云服务配置
- $di['odm'] ODM内部接口调用 内部调用小白接口,接口签名:call($service, $params)
维护我的云函数API接口
在果创云后台,可以添加自己的云函数API接口,也可以进行修改接口API代码,以及发布API接口,查看自己的接口列表。
查看我的云函数API接口
在前台,当你的云函数审核并发布后,即可查看到你的API接口,然后就可以进行使用和调用访问了。注意,只有自己才可以调用自己的API接口。
我的接口列表
点击进去,可以查看到自己的API接口文档,接口文档是实时自动生成的。
我的接口文档
在线API接口编程
更多技术介绍,请查看果创云文档:
云函数MyAPI(在线接口编程)
https://www.yesapi.cn/docs/#/v2.0/function
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。