ホームページ > 記事 > PHPフレームワーク > Laravel はレスポンスの作成、レスポンスヘッダーの設定、リダイレクトなどを行います。
すべてのルートとコントローラーは、ビジネス ロジックを処理した後、ユーザーのブラウザに送信された応答を返します。Laravel には、応答を返すためのさまざまな方法が用意されています。最も簡単な方法は、ルートまたはコントローラーで文字列を返すことです。laravel の最下層は、返される完全な http 応答を自動的に作成します。
Route::get('index', function () { return 'study laravel' });
配列が返された場合、laravel は自動的にそれを json 形式に変換して出力します。また、次のコードも同等です:
return ['name' => 'laravel', 'email' => 'laravel@qq.com']; return response(['name' => 'laravel', 'email' => 'laravel@qq.com']); return response()->json(['name' => 'laravel', 'email' => 'laravel@qq.com']);
応答ヘッダーを追加します
レスポンス ヘッダーの追加は非常に簡単です。header メソッドを使用するだけです。複数の header メソッドを使用して複数のレスポンス ヘッダーを設定できます。
return response('study laravel') ->header('Content-Type', 'text/html; charset=UTF-8') ->header('Php-Version', '7.4');
withHeaders を使用して複数の応答ヘッダーを一度に設定することもできます。このメソッドは最初のパラメーターとして配列を受け取ります。
return response('study laravel') ->withHeaders([ 'Conetnt-Type' => 'text/html; charset=UTF-8', 'Php-Version' => '7.4' ]);
リダイレクト
laravelでは、リダイレクトを実装する方法がいくつかあります。 Route::redirect または関数リダイレクトを通じてリダイレクトできます。 Route::redirect はルーティング関連の知識に属するため、ここではリダイレクト機能について説明します。
return redirect('index/users');
フォームを送信して検証に失敗すると、前のフォーム ページに戻ることがよくありますが、ここでは戻る関数を使用して完了する必要があります。
return back();
名前付きルートにリダイレクトすることもできます。ルートにパラメータがある場合は、2 番目のパラメータを介して渡します:
return redirect()->route('news', ['id' => 23]);
多くの場合、論理処理を実行した後にリダイレクトします。 . 次のステップに進むために別のコントローラに指示されます。たとえば、何かを登録するときに複数のフォームに記入する必要があります。
return redirect()->action('IndexController@index', ['id' => 1]);
場合によっては、アプリケーションの外部のドメイン名にリダイレクトする必要がある場合があります。操作を完了するために、away を使用することもできます。エンコードはありません
return redirect()->away('http://google.com');
#その他の応答タイプ
View応答は非常に一般的であり、viewメソッドを使用して設定できますreturn response() ->view('welcome', $data, 200) ->header("Content-Type", "text/html;charset=utf-8");また、laravelではダウンロードレスポンスやファイルレスポンスなども用意されていますが、日常業務ではあまり使わないのでここでは紹介しません。興味のある学生は各自で関連資料を確認してください。 推奨チュートリアル: 「
laravel フレームワーク」
以上がLaravel はレスポンスの作成、レスポンスヘッダーの設定、リダイレクトなどを行います。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。