ホームページ > PHPフレームワーク > Laravel > Laravel はレスポンスの作成、レスポンスヘッダーの設定、リダイレクトなどを行います。

Laravel はレスポンスの作成、レスポンスヘッダーの設定、リダイレクトなどを行います。

齐天大圣
リリース: 2020-12-24 08:50:01
オリジナル
2674 人が閲覧しました

すべてのルートとコントローラーは、ビジネス ロジックを処理した後、ユーザーのブラウザに送信された応答を返します。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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート