站长资讯网
最全最丰富的资讯网站

Laravel消息提示扩展推荐:spatie/Laravel-flash

本篇文章给大家分享一个轻量级消息提示Laravel扩展:spatie/Laravel-flash 包,介绍一下如何在 Laravel 中如何使用,希望对大家有所帮助!

Laravel消息提示扩展推荐:spatie/Laravel-flash

Laravel 9 保姆级视频教程,想学不会都难!进入学习

过去的几年里,我们一直在项目中使用 laracasts/flash 包来闪存消息。闪存信息指的是:一个仅能从当前请求传递到下一个请求的消息。Laracasts 包这点做的非常不错。它支持多种类型的闪存消息,覆盖消息。它有开箱即用的引导样式和预置的消息级别。

我们发现在项目中我们只使用到了一小部分 laracasts/flash 包的功能。所以我们推出了一个轻量级的包 spatie/laravel-flash。在这篇博客中我将为你介绍它。
我们的闪存包一次只能发送一个闪存消息。因为只需要这个功能,我们可以让 API 非常干净。接下来就是一个如何使用的例子:

class MyController {     public function store()     {         // ...         flash('My message', 'my-class');         return back();     } }
登录后复制

我们来看下如何展示闪存消息。在包中我们并无视图。你可以在应用中自己创建一个局部视图 。该视图内容的可能长这样:

@if(flash()->message)     <div class="{{ flash()->class }}">         {{ flash()->message }}     </div> @endif
登录后复制

非常简单吧?
你可能已经留意到在上面的 php 例子中我们可以指定一个具体的 CSS 类名-my-class 作为 flash 函数的第二个参数。在实际应用中你可能需要指定这个消息是一个成功,警告或错误消息,而不是要指定具体的类名。这个包可以轻松定义消息级别并使之与 CSS 类关联。接下来就是如何使用了:

// 这个会放在一个 service provider 中 SpatieFlashFlash::levels([     'success' => 'alert-success',     'warning' => 'alert-warning',     'error' => 'alert-eror', ]);
登录后复制

现在你就可以设置一个闪存消息了:

flash()->success('My message'); // 替代做法 flash('My message', 'success');
登录后复制

下个请求中 flash()->class 会返回 alert-success
这就是这个包的所有内容了。我们打算让这个包一直保持轻量,因为我们在闪存消息中我们根本不需要很多功能。希望 spatie/laravel-flash 包在你的项目中也能有所助益。

原文地址:https://murze.be/a-laravel-package-to-flash-messages

译文地址:https://learnku.com/laravel/t/25990

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号