kaoken / laravel-flash-message
使用它来在 Laravel 5 中显示简单的闪存消息。
1.5.4
2018-01-09 09:35 UTC
Requires
- php: >=7.0
- laravel/framework: 5.5.*
This package is auto-updated.
Last update: 2024-08-29 04:25:35 UTC
README
想在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,
方法列表
使用示例
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
中的所有消息并停止显示。