从路由返回字串
最基本的响应就是从 Laravel 的路由返回字串:
Route::get("/", function()
{
return "Hello World";
});
建立自定义响应
但是以大部分的路由及控制器所执行的动作来说,你需要返回完整的 IlluminateHttpResponse 实例或是一个视图。返回一个完整的 Response 实例时,你能够自定义响应的 HTTP 状态码以及响应头。Response 实例继承了 SymfonyComponentHttpFoundationResponse 类,它提供了很多方法来建立 HTTP 响应。
use IlluminateHttpResponse;
return (new Response($content, $status))
->header("Content-Type", $value);
为了方便起见,你可以使用辅助方法 response:
return response($content, $status)
->header("Content-Type", $value);
>提示: 有关 Response 方法的完整列表可以参照 API 文档 以及 Symfony API 文档.
在响应送出视图
如果想要使用 Response 类的方法,但最终返回视图给用户,你可以使用简便的 view 方法:
return response()->view("hello")->header("Content-Type", $type);
附加 Cookies 到响应
return response($content)->withCookie(cookie("name", "value"));
链式方法
切记,大多数的 Response 方法都是可以链式调用的,用以建立流畅的响应:
return response()->view("hello")->header("Content-Type", $type)
->withCookie(cookie("name", "value"));