thinkPHP5.0框架API优化后的友好性分析
新版ThinkPHP针对API开发做了很多的优化,并且不依赖原来的API模式扩展。
数据输出
新版的控制器输出采用Response类统一处理,而不是直接在控制器中进行输出,通过设置default_return_type或者动态设置不同类型的Response输出就可以自动进行数据转换处理,一般来说,你只需要在控制器中返回字符串或者数组即可,例如如果我们配置:
'default_return_type'=>'json'
那么下面的控制器方法返回值会自动转换为json格式并返回。
namespace app\index\controller; class Index { public function index() { $data = ['name'=>'thinkphp','url'=>'thinkphp.cn']; return ['data'=>$data,'code'=>1,'message'=>'操作完成']; } }
访问该请求URL地址后,最终可以在浏览器中看到输出结果如下:
{"data":{"name":"thinkphp","url":"thinkphp.cn"},"code":1,"message":"\u64cd\u4f5c\u5b8c\u6210"}
如果你需要返回其他的数据格式的话,控制器本身的代码无需做任何改变。
支持明确指定输出类型的方式输出,例如下面指定JSON数据输出:
namespace app\index\controller; class Index { public function index() { $data = ['name'=>'thinkphp','url'=>'thinkphp.cn']; // 指定json数据输出 return json(['data'=>$data,'code'=>1,'message'=>'操作完成']); } }
或者指定输出XML类型数据:
namespace app\index\controller; class Index { public function index() { $data = ['name'=>'thinkphp','url'=>'thinkphp.cn']; // 指定xml数据输出 return xml(['data'=>$data,'code'=>1,'message'=>'操作完成']); } }
核心支持的数据类型包括view、xml、json和jsonp,其他类型的需要自己扩展。
错误调试
由于API开发不方便在客户端进行开发调试,但ThinkPHP5的Trace调试功能支持Socket在内的方式,可以实现远程的开发调试。
设置方式:
'app_trace' => true, 'trace' => [ 'type' => 'socket', // socket服务器 'host' => 'slog.thinkphp.cn', ],
然后安装chrome浏览器插件后即可进行远程调试,详细参考调试部分。
(资源库 www.zyku.net)
上一篇:thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
栏 目:ThinkPHP
本文标题:thinkPHP5.0框架API优化后的友好性分析
本文地址:https://www.zyku.net/thinkphp/1277.html
您可能感兴趣的文章
- 05-10python调用API接口实现登录短信验证
- 04-01OneinStack使用dnsapi获取 Let's Encrypt 证书
- 04-01git fetch 和git pull 的差别
- 01-14蜻蜓快递-蜻蜓快递应用软件功能介绍
- 07-29详解PHP防止直接访问.php 文件的实现
- 12-09iqoo8pro怎么开启应用分身
- 02-21DedeCMS时间调用标签详解整理
- 09-16央视频全运会开幕式回放入口分享
- 09-18百度搜索相关API
- 03-26Win10怎么关闭锁屏界面上的文字广告
- 02-02小米手机快捷截图开启方法
- 09-19小米平板5pro怎么设置超级壁纸
- 04-24opporeno5全屏拍照开启方法
- 02-19Redis 命令整理并说明如何使用
- 01-11托贝家老师-托贝家老师应用软件功能介
- 04-24Python 大小写
- 01-12尼奥照照-尼奥照照应用软件功能介绍
- 09-16蒙速办疫苗接种在哪看
- 02-17哪些类型的网站并不需要高技能的SEO专
- 02-11vivoy30熄屏时钟样式更改教程
最近更新
阅读排行
猜你喜欢
- 01-11薪火匠人教育-薪火匠人教育应用软件功
- 05-09接口测试 Fiddler 抓取 https
- 12-28易跑-易跑应用软件功能介绍
- 01-11辽建继续教育-辽建继续教育应用软件功
- 03-11nginx + php-fpm fastcgi防止跨站、跨
- 01-12WiFi天天连-WiFi天天连应用软件功能介
- 02-22DedeCMS织梦首页调用单页文档内容的sq
- 04-06一加9pro专注模式开启教程
- 06-26Ajax提交表单并接收json实例代码
- 02-22DedeCMS文章简介标签infolen控制字数