当前位置:首页 > PHP教程 > PHP常见问题

thinkPHP5.0框架API优化后的友好性分析

本文实例讲述了thinkphp5.0框架api优化后的友好性。分享给大家供大家参考,具体如下:

新版thinkphp针对api开发做了很多的优化,并且不依赖原来的api模式扩展。

数据输出

新版的控制器输出采用response类统一处理,而不是直接在控制器中进行输出,通过设置default_return_type或者动态设置不同类型的response输出就可以自动进行数据转换处理,一般来说,你只需要在控制器中返回字符串或者数组即可,例如如果我们配置:

'default_return_type'=>'json'

那么下面的控制器方法返回值会自动转换为json格式并返回。

namespace appindexcontroller; 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":"u64cdu4f5cu5b8cu6210"}

如果你需要返回其他的数据格式的话,控制器本身的代码无需做任何改变。

支持明确指定输出类型的方式输出,例如下面指定json数据输出:

namespace appindexcontroller; class index { public function index() { $data = ['name'=>'thinkphp','url'=>'thinkphp.cn']; // 指定json数据输出 return json(['data'=>$data,'code'=>1,'message'=>'操作完成']); } }

或者指定输出xml类型数据:

namespace appindexcontroller; 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浏览器插件后即可进行远程调试,详细参考调试部分。

更多关于thinkphp相关内容感兴趣的读者可查看本站专题:《thinkphp入门教程》、《thinkphp模板操作技巧总结》、《thinkphp常用方法总结》、《codeigniter入门教程》、《ci(codeigniter)框架进阶教程》、《zend framework框架入门教程》、《smarty模板入门基础教程》及《php模板技术总结》。

希望本文所述对大家基于thinkphp框架的php程序设计有所帮助。



【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!