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

来源:php中文网 | 2022-11-29 20:52:16 |


【资料图】

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

过去的几年里,我们一直在项目中使用 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 中\Spatie\Flash\Flash::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

以上就是Laravel消息提示扩展推荐:spatie/Laravel-flash的详细内容,更多请关注php中文网其它相关文章!

关键词: Laravel