本篇文章給大家分享一個輕量級消息提示laravel擴展:spatie/laravel-flash 包,介紹一下如何在 laravel 中如何使用,希望對大家有所幫助!
過去的幾年里,我們一直在項目中使用?laracasts/flash?包來閃存消息。閃存信息指的是:一個僅能從當前請求傳遞到下一個請求的消息。Laracasts 包這點做的非常不錯。它支持多種類型的閃存消息,覆蓋消息。它有開箱即用的引導樣式和預置的消息級別。
我們發現在項目中我們只使用到了一小部分?laracasts/flash 包的功能。所以我們推出了一個輕量級的包?laracasts/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。
這就是這個包的所有內容了。我們打算讓這個包一直保持輕量,因為我們在閃存消息中我們根本不需要很多功能。希望?laracasts/flash?包在你的項目中也能有所助益。
原文地址:https://murze.be/a-laravel-package-to-flash-messages譯文地址:https://learnku.com/laravel/t/25990
【相關推薦:laracasts/flash】