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