2016-06-02 15 views
1

私のコントローラのメソッドから404エラービューを返したいと思います。laravelのreturn view()、return return() - > view()およびabort()の違い

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()の違いは何ですか?

具体的な使用例は何ですか?

答えて

2

view()response()->view()

response()->view()のためだけ速記ステータスコード200で指定されたビューを返します。ですが、あなたは多くの点で応答を変更することができます。たとえば、他のヘッダーを設定するか、301

abort()のような別のステータスコードがNotFoundHttpExceptionまたはHttpExceptionをスローし、Laravelはそうあなたがあなた自身のビューを指定する必要はありませんviews/errorsに対応するコードのような名前のビューのために見えるようになります。

+0

しかし、すべて同じ出力を返します。私はいつもview()を使ってはいけないのですか? –

+0

@Prsエラーページのためにブラウザに送信されるステータスコードが原因です。ユーザーにとって必須ではなく、検索エンジンに必須です。あなたは 'abort()'を使う必要はありませんが、あなたは_should_です。 – Kovah

0

view()またはresponse() - > view()を使用すると、クライアントが受信するHTTP応答コードは200 OKになります。中断(404)を使用すると、コードは404見つからない!

関連する問題