服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|JavaScript|易语言|

服务器之家 - 编程语言 - PHP教程 - thinkPHP5.0框架API优化后的友好性分析

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

2021-05-04 17:20chinalorin PHP教程

这篇文章主要介绍了thinkPHP5.0框架API优化后的友好性,结合具体实例分析了thinkPHP5.0框架进行API优化后在数据输出及错误调试方面的友好性改进,需要的朋友可以参考下

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

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

数据输出

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

?
1
'default_return_type'=>'json'

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

?
1
2
3
4
5
6
7
8
9
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数据输出:

?
1
2
3
4
5
6
7
8
9
10
namespace app\index\controller;
class Index
{
  public function index()
  {
    $data = ['name'=>'thinkphp','url'=>'thinkphp.cn'];
    // 指定json数据输出
    return json(['data'=>$data,'code'=>1,'message'=>'操作完成']);
  }
}

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

?
1
2
3
4
5
6
7
8
9
10
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在内的方式,可以实现远程的开发调试。

设置方式:

?
1
2
3
4
5
6
'app_trace' => true,
'trace'   => [
  'type'       => 'socket',
  // socket服务器
  'host'       => 'slog.thinkphp.cn',
],

然后安装chrome浏览器插件后即可进行远程调试,详细参考调试部分。

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

延伸 · 阅读

精彩推荐
  • PHP教程Thinkphp中Create方法深入探究

    Thinkphp中Create方法深入探究

    由于工作原因在thinkPHP的create()方法上遇到了问题,所以跟踪了create(),从而进一步探究了create()方法。 原来create()方法原来有两个参数,本文就此作简要说明...

    PHP技术网1902020-07-06
  • PHP教程浅谈thinkphp的实例化模型

    浅谈thinkphp的实例化模型

    这篇文章主要简单介绍了thinkphp的实例化模型的几种方法,以及他们之间的使用要点,非常不错,推荐给大家。 ...

    THINKPHP教程网2532020-08-27
  • PHP教程php中的curl使用入门教程和常见用法实例

    php中的curl使用入门教程和常见用法实例

    起先cURL是做为一种命令行工具设计出来的,比较幸运的是,php也支持cURL了。通过cURL这个利器,我们能在php程序中自由地发送HTTP请求到某个url来获取或者提...

    php中文网1762020-06-22
  • PHP教程php根据年月获取季度的方法

    php根据年月获取季度的方法

    这篇文章主要介绍了php根据年月获取季度的方法,需要的朋友可以参考下...

    php技术网2622020-06-21
  • PHP教程PHP中基本HTTP认证技巧分析

    PHP中基本HTTP认证技巧分析

    这篇文章主要介绍了PHP中基本HTTP认证技巧,实例分析了HTTP身份验证的原理与实现方法,具有一定参考借鉴价值,需要的朋友可以参考下...

    php中文网4862020-09-10
  • PHP教程常用PHP框架功能对照表

    常用PHP框架功能对照表

    这篇文章主要介绍了常用PHP框架功能对照表,对于选择PHP框架进行开发时具有一定的参考价值,需要的朋友可以参考下 ...

    shichen20142502020-08-02
  • PHP教程PHP文件读取功能的应用实例

    PHP文件读取功能的应用实例

    这篇文章主要介绍了PHP文件读取功能的应用实例以及常用的文件数据读取的函数的使用方法及别,非常的详细,有需要的小伙伴可以参考下。 ...

    PHP中文网1922020-09-22
  • PHP教程PHP 强制下载文件代码

    PHP 强制下载文件代码

    PHP 强制下载文件代码,任意文件下载代码,可以让任何文件都是提示下载的实现代码。 ...

    php代码网4182019-11-11