基本响应
从路由返回字串
最基本的响应就是从 Laravel 的路由返回字串:
Route::get('/', function()
{
return 'Hello World';
});
建立自定义响应
但是以大部分的路由及控制器所执行的动作来说,你需要返回完整的 Illuminate\Http\Response 实例或是一个视图。返回一个完整的 Response 实例时,你能够自定义响应的 HTTP 状态码以及响应头。Response 实例继承了 Symfony\Component\HttpFoundation\Response 类,它提供了很多方法来建立 HTTP 响应。
use Illuminate\Http\Response;
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'));