这篇文章将为大家详细讲解有关thinkPHP5.0框架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浏览器插件后即可进行远程调试。
关于“thinkPHP5.0框架API优化后友好性的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。