找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1117|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2536

主题

2536

帖子

7532

积分

论坛元老

Rank: 8Rank: 8

积分
7532
跳转到指定楼层
楼主
发表于 2018-2-14 05:27:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            本文实例讲述了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地址后,最终可以在浏览器中看到输出结果如下:
[U]复制代码[/U] 代码如下:{"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浏览器插件后即可进行远程调试,详细参考调试部分。
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》、《smarty模板入门基础教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
            
            
您可能感兴趣的文章:
  • thinkPHP学习笔记之安装配置篇
  • ThinkPHP安装和设置
  • ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
  • thinkPHP5.0框架环境变量配置方法
  • thinkPHP5.0框架简单配置作用域的方法
  • thinkPHP5.0框架独立配置与动态配置方法
  • thinkPHP5.0框架配置格式、加载解析与读取方法
  • thinkPHP5.0框架引入Traits功能实例分析
  • thinkPHP5.0框架自动加载机制分析
  • thinkPHP5.0框架命名空间详解
  • thinkPHP5.0框架模块设计详解
  • thinkPHP5.0框架URL访问方法详解
  • thinkPHP5.0框架应用请求生命周期分析
  • thinkPHP5.0框架安装教程
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端