Response(响应)
// 添加响应头
return response($content)
->header('Content-Type', $type)
->header('X-Header-One', 'Header Value')
->header('X-Header-Two', 'Header Value');
return response($content)
->withHeaders([
'Content-Type' => $type,
'X-Header-One' => 'Header Value',
'X-Header-Two' => 'Header Value',
]);
// 添加 Cookie 到响应
return response($content)
->header('Content-Type', $type)
->cookie('name', 'value', $minutes);
// Cookie & 加密
默认情况下,Laravel 框架生成的 Cookie 都经过了加密和签名,以免在客户端被篡改。如果你想要让特定的 Cookie 子集在生成时取消加密,可以通过 app/Http/Middleware 目录下的中间件 App\Http\Middleware\EncryptCookies 提供的 $except 属性来排除这些 Cookie
/**
* 不需要被加密的cookies名称
*
* @var array
*/
protected $except = [
'cookie_name',
];
// 重定向
return redirect('home/dashboard');
// 重定向到上一个请求的位置
return back()->withInput();
// 重定向到命名路由
return redirect()->route('login');
return redirect()->route('profile', ['id'=>1]);
return redirect()->route('profile', [$user]);
// 重定向到控制器动作
return redirect()->action('HomeController@index');
return redirect()->action('UserController@profile', ['id'=>1]);
// 带一次性 Session 数据的重定向
return redirect('dashboard')->with('status', 'Profile updated!');
// 其它响应类型
(视图响应)
return response()
->view('hello', $data, 200)
->header('Content-Type', $type);
(JSON响应)
* json响应
return response()->json([
'name' => 'Abigail',
'state' => 'CA'
]);
* jsonp响应
return response()
->jsonp($request->input('callback'), ['name' => 'Abigail', 'state' => 'CA']);
(文件下载)
download 方法用于生成强制用户浏览器下载给定路径文件的响应。download 方法接受文件名作为第二个参数,该参数决定用户下载文件的显示名称,你还可以将 HTTP 头信息作为第三个参数传递到该方法:
return response()->download($pathToFile);
return response()->download($pathToFile, $name, $headers);
return response()->download($pathToFile)->deleteFileAfterSend(true);
(文件响应)
file 方法可用于直接在用户浏览器显示文件,例如图片或 PDF,而不需要下载,该方法接收文件路径作为第一个参数,头信息数组作为第二个参数:
return response()->file($pathToFile);
return response()->file($pathToFile, $headers);