假设我想从我的控制器方法返回404错误视图,我有这段代码。
try {
file_get_contents('http://www.somewebsite.com');
}
catch (\Exception $e) {
return view('errors.404'); // View::make('errors.404');
// or
return response()->view('errors.404'); // Response::view('errors.404');
// or
abort(404); // App::abort(404);
}
每次我都会看到404的相同视图输出。这是我的问题。
view(),response() - > view()和abort()有什么区别?
它们的具体用例是什么?
答案 0 :(得分:2)
view()
只是response()->view()
response()->view()
返回状态代码为200的指定视图,但您可以通过多种方式修改响应。例如,设置其他标头或其他状态代码,如301。
abort()
抛出NotFoundHttpException或HttpException,并使Laravel查找名为views/errors
中相应代码的视图,这样您就不必自己指定视图。
答案 1 :(得分:0)
当您使用view()或response() - > view()时,您的客户端收到的HTTP响应代码将为200即OK。当使用abort(404)时,代码将是404 NOT FOUND!