Laravel – flash

概要

  • セッションのflash()メソッドは、put()メソッドと同じくセッションにキーと値のデータを登録できる
  • ただしそのデータは、次のリクエストの間だけ保存され、その後は削除される
  • このためflashはコントローラー処理結果の通知などに使われる
  • flashの操作はsession()グローバルヘルパーを使うが、Requestインスタンス経由でもよい

基本形

flashへの登録

session()->flash('キー', 値);
$request->session()->flash('キー', 値);

flashのデータ存在確認

session()->has('キー')

flashのデータ参照

session()->get('キー')

実装例

ビュー

ビューから見た動作は以下の通り

  • GETリクエストでルーティングされ、フォームを表示する
  • ユーザー名を入力後に送信ボタンを押すと、ユーザー名のバリデーション用コントローラーに制御を移す
  • バリデーションの結果、このページにリダイレクトされ、結果に応じて$errorsflashの内容が表示される
  • $errorsはバリデーション結果が妥当でない時に自動でメッセージが登録される
  • flashはバリデーション結果が妥当な時にコントローラーでメッセージを登録する

表示アクション

最初のルーティングで呼ばれ、ビューを初期状態で表示する。

バリデーションアクション

フォームから呼び出され、バリデーションのみを行い、元のページへリダイレクトする。

  • バリデーション結果が妥当でなければ、$errorsにメッセージが登録され、初期ページにリダイレクト
  • バリデーション結果が妥当な時はflashにメッセージを登録して初期ページにリダイレクト

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です