zoukankan      html  css  js  c++  java
  • API 友好

    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'=>'操作完成']);
        }
    }

    核心支持的数据类型包括viewxmljsonjsonp,其他类型的需要自己扩展。

    错误调试

    由于API开发不方便在客户端进行开发调试,但ThinkPHP5Trace调试功能支持Socket在内的方式,可以实现远程的开发调试。

    设置方式:

    'app_trace' => true,
    'trace'     => [
        'type'             => 'socket', 
        // socket服务器
        'host'             => 'slog.thinkphp.cn',
    ],

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

     
  • 相关阅读:
    关于Sprte2d的图片切割
    关于U3d GameObject类型的可用描述
    [小巩u3d] Sprite 2D的资源占用分析
    [小巩u3d] 关于Raycast对BoxCollider和BoxCollider2d的碰撞监测规则
    Web服务器父与子 Apache和Tomcat区别
    [转]IIS添加MIME扩展类型及常用的MIME类型列表
    转载自知乎:程序员干到三十就干不动了」的说法是从哪来的?
    Unity之如何去除动画scale
    Unity shader学习之简单的水效果
    Unity shader学习之卡通渲染,轮廓线
  • 原文地址:https://www.cnblogs.com/chuanqideya/p/5943204.html
Copyright © 2011-2022 走看看