tokiya / laraflash
Laravel 的简单闪存消息。
1.0.2
2023-09-24 18:37 UTC
Requires
- php: ^8.0
- laravel/framework: ^8.0|^9.0|^10.0
README
这是在 Laravel 应用程序中使用的最简单、最易用的包。
示例
它可以用最少的代码调用。
class UserController { public function store() { // … flash('User successfully registered!'); return redirect()->back(); } }
Laraflash 只有级别。
它不依赖于视图实现,可以自由处理。
此示例适用于 Bootstrap。
@if (flash()->hasMessage()) <div class="alert alert-{{ flash()->getLevel() }}"> {{ flash()->getMessage() }} </div> @endif
安装
您可以使用此命令安装。
composer require tokiya/laraflash
使用方法
如果没有指定,默认为 "success"。
class UserController { public function store() { // … flash('User successfully registered!'); return redirect()->back(); } }
当然,也可以明确指定。
class UserController { public function store() { // … flash('User successfully registered!')->success(); return redirect()->back(); } }
您可能想要隔离消息。我们可以实现这一点。
class UserController { public function store() { // … $flash = flash(); if (...) { $flash->success('Pattern 1 message.'); } else { $flash->success('Pattern 2 message.'); } return redirect()->back(); } }
有四个级别。
- 成功
- 警告
- 错误
- 信息
flash('User successfully registered!')->success(); flash('Unregistered information is available.')->warning(); flash('User registration failed.')->error(); flash('A notice exists.')->info();
然而,自由的级别让你摆脱了限制。
然而,它不适合多人开发。
这是因为可能存在混乱的可能性。
flash('Please check now.!')->urgent(); // By John flash('Please check now.!')->emergency(); // By Mary
如果您想在使用自定义级别的同时保持有序,请更改默认级别。
flash()->customizeErrorKey('danger')->error();
或者
class MyFlash extends Flash { protected array $level_keys = [ 'success' => 'success', 'warning' => 'warning', 'error' => 'danger', 'info' => 'info', ]; }
想让它更简单吗?
懒人们有更好的方法。
因为每次设置消息都很麻烦,不是吗?
一旦设置了默认消息,就再也不会需要了。
不过,很抱歉。所有级别都需要明确。
flash()->setDefaultSuccessMessage('Successfully saved!') ->setDefaultErrorMessage('Failed to save.');
flash()->success(); // Successfully saved! flash()->error(); //Failed to save.
许可证
MIT 许可证 (MIT)。