LaravelPackages.net
Acme Inc.
Toggle sidebar
kaoken/laravel-flash-message

Use it to display a simple flash message with Laravel 5.

24
0
1.5.4
About kaoken/laravel-flash-message

kaoken/laravel-flash-message is a Laravel package for use it to display a simple flash message with laravel 5.. It currently has 0 GitHub stars and 24 downloads on Packagist (latest version 1.5.4). Install it with composer require kaoken/laravel-flash-message. Discover more Laravel packages by kaoken or browse all Laravel packages to compare alternatives.

Last updated

laravel-flash-message

Build Status composer version licence laravel version

Laravelで、簡単なフラッシュメーセージを使いたい場合にどうぞ!

コンテンツの一覧

インストール

composer:

composer require kaoken/laravel-flash-message

初期設定

config\app.php に以下のように追加:

'providers' => [ ... Kaoken\FlashMessage\FlashMessageServiceProvider::class, ], 'aliases' => [ ... 'FlashMessage' => Kaoken\FlashMessage\Facades\FlashMessage::class, ],

ミドルウェア

下記のミドルウェアで、FlashMessageをインスタンス化した$flashMessageという変数で、全て、または一部のBladeテンプレートで使用できるようにする為のもので、
view('test',['flashMessage' => FlashMessage::getInstance()])という感じに、個々で使用したい場合は、追加しないこと。

app\Http\Kernel.php に以下のように追加:

//----------------------------------------------------- protected $middleware = [ ... \Kaoken\FlashMessage\Middleware\FlashMessageMiddleware::class, //----------------------------------------------------- // または protected $middlewareGroups = [ 'web' => [ ... \Kaoken\FlashMessage\Middleware\FlashMessageMiddleware::class, //----------------------------------------------------- // または protected $routeMiddleware = [ ... 'flash.message' => \Kaoken\FlashMessage\Middleware\FlashMessageMiddleware::class,

メソッド一覧

|メソッド一覧 |説明| |:------|:----| |getInstance()|自身インスタンスを返す。| |hasSuccess()|成功メッセージがあるか?ある場合は'true'を返す。| |hasInfo()|情報メッセージがあるか?ある場合は'true'を返す。| |hasWarnings()|警告メッセージがあるか?ある場合は'true'を返す。| |hasError()|エラーメッセージがあるか?ある場合は'true'を返す。| |successes()|成功メッセージを配列で取得する。| |info()|情報メッセージを配列で取得する。| |warnings()|警告メッセージを配列で取得する。| |errors()|エラーメッセージを配列で取得する。| |pushSuccess($msg)|成功メッセージを加える。$msgの型は何でも良い。通常は、文字列を使用する。| |pushInfo($msg)|情報メッセージを加える。$msgの型は何でも良い。通常は、文字列を使用する。| |pushWarning($msg)|警告メッセージを加える。$msgの型は何でも良い。通常は、文字列を使用する。| |pushError($msg)|エラーメッセージを加える。$msgの型は何でも良い。通常は、文字列を使用する。|

使用例

Testコントローラー

<?php
namespace app\Http\Controllers;

use FlashMessage;
use App\Library\Http\Controllers\Controller;

class Test extends Controller
{
    public function getTest01()
    {
        // 文字列のみ
        FlashMessage::pushSuccess('This is test messege');
        // 任意のオブジェクト
        $o = new \stdClass();
        $o->title = 'title 01';
        $o->text = 'text 01';
        FlashMessage::pushError($o);
        $o = new \stdClass();
        $o->title = 'title 02';
        $o->text = 'text 02';
        FlashMessage::pushError($o);

        return redirect('test02');
    }
    public function getTest02()
    {
        return view('test');
    }
}

test.blade.phpテスト用テンプレート

@php
  $errorMessages = $flashMessage->errors();
  $successMessages = $flashMessage->successes();
@endphp

{{--成功メッセージ--}}
@if( $flashMessage->hasSuccess() )
  <h1>成功メッセージ</h1>
  @for($i=0;$i<count($successMessages);$i++)
    <hr />
    {{$successMessages[$i]}}
  @endfor
  <hr />
@endif

{{--エラーメッセージ--}}
@if( $flashMessage->hasError() )
  <h1>エラーメッセージ-</h1>
  @for($i=0;$i<count($errorMessages);$i++)
    <hr />
    {{ $errorMessages[$i]->title }}<br />
    {{ $errorMessages[$i]->text }}<br />
  @endfor
  <hr />
@endif

例えば、最初の接続でhttp://hoge/test01,Test@getTest01呼び出した場合、FlashMessageでメッセージが保存される。
次の接続で、http://hoge/test02,Test@getTest02呼び出した場合、テスト用テンプレートtest.blade.phpが表示され、 このとき下記のように表示される。

<h1>成功メッセージ</h1>
<hr />
This is test messege
<hr />


<h1>エラーメッセージ-</h1>
<hr />
title 01<br />
text 01<br />
<hr />
title 02<br />
text 02<br />
<hr />

更新ボタンを押すと、FlashMessage内の全てのメッセージ削除され、表示されなくなる。

ライセンス

MIT

Comments