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/library/think/Response.php,增加语句echo $class.PHP_EOL;//添加了这句
结果如下:
为了规范和清晰起见,最佳的方式是在控制器最后明确输出类型(毕竟一个确定的请求是有明确的响应输出类型),默认支持的输出类型包括:
输出类型 | 快捷方法 | 对应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 |
按照上面的方法,看看手册和源码就知道他们的用法和原理了。