Laravelでフラッシュメッセージを表示するのに便利な laracasts/flash パッケージを紹介します。
Bootstrap3 を使っている場合、フラッシュメッセージの表示する時に、div の classを指定して、正常時や警告、危険、ただの情報といった感じで色を使い分けるかと思います。laracasts/flashを使うと、これらの指定が簡単に出来るようになります。
インストール
composerを使ってインストールします。
composer require laracasts/flash
config/app.php を修正して Laravel に laracasts/flash を組込みます
<?php return [ // ... 'providers' => [ // ... Laracasts\Flash\FlashServiceProvider::class, ], 'aliases' => [ // ... 'Flash' => Laracasts\Flash\Flash::class, ], ];
使い方
Controller
public function update($id, ArticleRequest $request) { $article = Article::findOrFail($id); $article->update($request->all()); \Flash::success('記事を更新しました。'); return redirect(url('articles', [$article->id])); }
以下のメソッドを使うことで、メッセージの種類を使い分けられます。
- Flash::info(‘Message’)
- Flash::success(‘Message’)
- Flash::error(‘Message’)
- Flash::warning(‘Message’)
- Flash::overlay(‘Modal Message’, ‘Modal Title’)
View
... <body> <div class="container"> @include('flash::message') @yield('content') </div> </body> </html>
flash::message パーシャルを indlude するだけでOKです。
フラッシュメッセージの実装はそんなに難しいものではありませんが、毎回必要になるので、意外に面倒くさいものです。laracasts/flash を使えば、この辺の実装が不要になり、大変便利です。Bootstrap3 を使っている方にはおすすめです。