[解決済み] Laravelでは、セッションで異なるタイプのフラッシュメッセージを渡すための最良の方法
2022-05-09 15:35:04
質問
Laravelで初めてアプリを作っているのですが、セッションフラッシュメッセージについて理解しようとしています。私の知る限り、コントローラアクションでフラッシュメッセージを設定するには、次のようにします。
Redirect::to('users/login')->with('message', 'Thanks for registering!'); //is this actually OK?
別のルートにリダイレクトする場合や
Session::flash('message', 'This is a message!');
マスターブレードのテンプレートでは、次のようになります。
@if(Session::has('message'))
<p class="alert alert-info">{{ Session::get('message') }}</p>
@endif
お気づきかもしれませんが、私のアプリでは Bootstrap 3 を使用しており、さまざまなメッセージ クラスを利用したいと考えています。
alert-info
,
alert-warning
,
alert-danger
などです。
コントローラで、設定するメッセージの種類がわかっているとして、それをビューに渡して表示するには、どのような方法が良いでしょうか?それぞれのタイプについて、セッションに個別のメッセージを設定すべきでしょうか (例.
Session::flash('message_danger', 'This is a nasty message! Something's wrong.');
)? そうすると、ブレードテンプレートにメッセージごとに別々のif文が必要になりますね。
何かアドバイスがあればお願いします。
解決方法は?
1つの解決策は、セッションに2つの変数をフラッシュすることです。
- メッセージそのもの
- アラートのクラス名
を例にとります。
Session::flash('message', 'This is a message!');
Session::flash('alert-class', 'alert-danger');
次に、ビューで
@if(Session::has('message'))
<p class="alert {{ Session::get('alert-class', 'alert-info') }}">{{ Session::get('message') }}</p>
@endif
なお、ここでは
デフォルト値
の中に
Session::get()
そうすれば、警告の内容が
alert-info
クラスがあります。
(これは簡単な例であり、未検証です :) )
関連
-
[解決済み] 15分ごとに実行するcron式を書きたい
-
[解決済み] Vimで複数の異なるセッションを保存、復元する方法は?
-
[解決済み】スティッキーセッションとノンスティッキーセッション
-
[解決済み】認証。JWTの使用とセッションの比較
-
[解決済み] これを理解するのを助けてくれる?"よくあるRESTの間違い "です。セッションは無関係"
-
[解決済み] Laravelでは、セッションで異なるタイプのフラッシュメッセージを渡すための最良の方法
-
[解決済み] tmux: 2つのtmuxウィンドウを1つのペインに結合する方法は?
-
[解決済み】セッションは本当にRESTfulnessに違反するのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 15分ごとに実行するcron式を書きたい
-
[解決済み] Vimで複数の異なるセッションを保存、復元する方法は?
-
[解決済み】スティッキーセッションとノンスティッキーセッション
-
[解決済み】認証。JWTの使用とセッションの比較
-
[解決済み] これを理解するのを助けてくれる?"よくあるRESTの間違い "です。セッションは無関係"
-
[解決済み] Laravel 4のヘルパーと基本関数のベストプラクティス?
-
[解決済み] Laravelでは、セッションで異なるタイプのフラッシュメッセージを渡すための最良の方法
-
[解決済み] tmux: 2つのtmuxウィンドウを1つのペインに結合する方法は?
-
[解決済み】セッションは本当にRESTfulnessに違反するのか?