Laravel 4
で、私は単に呼び出すことができた
App::abort(404)
Laravel 5
に同等のものはありますか?
これについては、執筆時点で驚くほど限られた情報しかありません。 catch NotFoundHttpExceptionsの方法についての議論を見つけましたが、url構造は既にroutes.phpファイル。もう少し背景を説明するために、私がやろうとしていることの単純化されたバージョンを以下に示します。
Routes.php:
Route::get('/info/{page}', array('as' => 'info', 'uses' => 'Primary@infoPage'));
Primary.php(コントローラー)
public function infoPage($page){
$pageData = DB::table('pages')->where('url_title', $page)->first();
if(!empty($pageData)){
// great, there's a corresponding row in the database for this page, go ahead and do stuff...
}else {
// This page doesn't exist, please abort with a 404 error... but how?
}
}
Official documentation を見るだけです。
一部の例外は、サーバーからのHTTPエラーコードについて説明しています。たとえば、これは「ページが見つかりません」エラー(404)、「不正なエラー」(401)、または開発者が500エラーを生成した場合もあります。このような応答を返すには、次を使用します。
abort(404);
オプションで、応答を提供できます。
abort(403, 'Unauthorized action.');
このメソッドは、リクエストのライフサイクル中いつでも使用できます。
すべての404エラーのカスタムビューを返すには、resources/views/errors/404.blade.php
ファイルを作成します。このビューは、アプリケーションで生成されたすべての404エラーで提供されます。
この関数は削除され、すぐに here のように置き換えられるようです。 「回避策」は、404応答を作成することです。
ほとんどのルートとコントローラーアクションでは、完全なIlluminate\Http\Response
インスタンスまたはビューを返します。完全なResponse
インスタンスを返すことで、応答のHTTPステータスコードとヘッダーをカスタマイズできます。 Response
インスタンスはSymfony\Component\HttpFoundation\Response
クラスを継承し、HTTP応答を構築するためのさまざまなメソッドを提供します。
use Illuminate\Http\Response;
return (new Response($content, $status))
->header('Content-Type', $value);
便宜上、応答ヘルパーも使用できます。
return response($content, $status)
->header('Content-Type', $value);
注:利用可能な応答メソッドの完全なリストについては、その APIドキュメント および Symfony APIドキュメント 。