欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

thinkphp的响应输出方法讲解

程序员文章站 2022-05-02 23:41:57
版本:5.1.10 系统会根据default_return_type(普通请求,默认是html)和default_ajax_return(ajax请求,默认是json)配置自动决...

版本:5.1.10

系统会根据default_return_type(普通请求,默认是html)和default_ajax_return(ajax请求,默认是json)配置自动决定响应输出的类型。

namespace app\index\controller;
class Index
{
    public function hello(){
        $data = ["name"=>"thinkphp","status"=>"1"];
        return json($data);
    }
}

结果如下:

thinkphp的响应输出方法讲解

现在修改thinkphp/library/think/Response.php,增加语句echo $class.PHP_EOL;//添加了这句

thinkphp的响应输出方法讲解

结果如下:

thinkphp的响应输出方法讲解

为了规范和清晰起见,最佳的方式是在控制器最后明确输出类型(毕竟一个确定的请求是有明确的响应输出类型),默认支持的输出类型包括:

输出类型 快捷方法 对应Response类
HTML输出 response \think\Response
渲染模板输出 view \think\response\View
JSON输出 json \think\response\Json
JSONP输出 jsonp \think\response\Jsonp
XML输出 xml \think\response\Xml
页面重定向 redirect \think\response\Redirect

按照上面的方法,看看手册和源码就知道他们的用法和原理了。