首页 > 代码库 > API 友好
API 友好
API友好
新版ThinkPHP针对API
开发做了很多的优化,并且不依赖原来的API模式扩展。
数据输出
新版的控制器输出采用Response
类统一处理,而不是直接在控制器中进行输出,通过设置default_return_type
或者动态设置不同类型的Response
输出就可以自动进行数据转换处理,一般来说,你只需要在控制器中返回字符串或者数组即可,例如如果我们配置:
‘default_return_type‘=>‘json‘
那么下面的控制器方法返回值会自动转换为json格式并返回。
namespace app\index\controller;class Index { public function index() { $data = http://www.mamicode.com/[‘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 = http://www.mamicode.com/[‘name‘=>‘thinkphp‘,‘url‘=>‘thinkphp.cn‘]; // 指定json数据输出 return json([‘data‘=>$data,‘code‘=>1,‘message‘=>‘操作完成‘]); }}
或者指定输出XML
类型数据:
namespace app\index\controller;class Index { public function index() { $data = http://www.mamicode.com/[‘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
浏览器插件后即可进行远程调试,详细参考调试部分。
API 友好
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。