royvoetman / laravel-flash-alerts
在资源控制器中自动显示成功提示:`store`、`update` 和 `destroy` 方法。
v1.0.6
2023-06-17 07:36 UTC
Requires
- php: ^7.0 || ^8.0
- illuminate/support: ^5.1|^5.2|^5.3|^6.0|^7.0|^8.0|^9.0|^10.0
README
此包会在控制器中的 store
、update
或 destroy
方法成功执行时,自动将成功消息闪存到会话中。
当没有抛出异常,并且当前会话中未定义键为 warning
的消息时,认为执行是成功的。
安装
composer require royvoetman/laravel-flash-alerts
将 FlashAlerts 中间件添加到 app/Http/Kernel.php 中的 routeMiddleware 数组
/** * The application's route middleware. * * These middleware may be assigned to groups or used individually. * * @var array */ protected $routeMiddleware = [ ... 'flash.alerts' => \RoyVoetman\LaravelFlashAlerts\Middleware\FlashAlerts::class ];
将 FlashesAlerts 特性添加到应用程序的 BaseController 中
<?php namespace App\Http\Controllers; use RoyVoetman\LaravelFlashAlerts\Traits\FlashesAlerts; ... abstract class Controller extends BaseController { use FlashesAlerts; ... }
签名
public function registerAlertMiddleware(string $model, array $except = []);
- $model
- 用于闪存消息的字符串,例如
$model = 'Book'
将生成:书籍已成功添加
- 用于闪存消息的字符串,例如
- $except
- 在注册中间件时跳过的方法数组。
使用
如果注册了中间件并且 store
、update
或 destory
方法已成功执行,则会在当前会话中键为 alert
下闪存一条消息。
如果当前会话中存在键为 warning
的消息或抛出异常,则请求不被认为是成功的。
示例
<?php namespace App\Http\Controllers; class BookController extends Controller { /** * BookController constructor. */ public function __construct() { parent::__construct(); $this->registerAlertMiddleware('Book'); } ... }
忽略方法
<?php namespace App\Http\Controllers; class BookController extends Controller { /** * BookController constructor. */ public function __construct() { parent::__construct(); $this->registerAlertMiddleware('Book', ['destroy']); } public function store() { // Will flash alert return redirect()->route('books.index'); } public function destroy() { // Won't flash alert return redirect()->route('books.index'); } ... }
显示闪存警报
@if (session()->has('alert')) <div class="alert alert-success" role="alert"> {{ session('alert') }} </div> @endif
更改警报消息
php artisan vendor:publish --provider="RoyVoetman\LaravelFlashAlerts\FlashAlertsServiceProvider"
这将把可重写的翻译放在 resources/lang/vendor/laravel-flash-alerts
下
变更日志
请参阅 CHANGELOG 了解最近的变化信息。
贡献
贡献是 欢迎的,并将得到完全 认可。我们通过 Github 上的拉取请求接受贡献。
拉取请求
- PSR-2 编码规范 - 应用规范的最简单方法是安装 PHP Code Sniffer。
- 记录任何行为变更 - 确保保持
README.md
和任何其他相关文档的最新状态。 - 创建功能分支 - 不要要求我们从您的 master 分支中拉取。
- 每个功能一个拉取请求 - 如果您想做更多的事情,请发送多个拉取请求。
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。