定制 kaoken/laravel-flash-message 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

kaoken/laravel-flash-message

Composer 安装命令:

composer require kaoken/laravel-flash-message

包简介

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

README 文档

README

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

kaoken/laravel-flash-message 适用场景与选型建议

kaoken/laravel-flash-message 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 24 次下载、GitHub Stars 达 0, 最近一次更新时间为 2017 年 05 月 09 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「laravel」 「flash-message」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 kaoken/laravel-flash-message 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 kaoken/laravel-flash-message 我们能提供哪些服务?
定制开发 / 二次开发

基于 kaoken/laravel-flash-message 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 24
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 5
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-05-09