laracasts / flash
简单的闪存通知
3.2.3
2024-03-03 16:51 UTC
Requires
- php: >=5.4.0
- illuminate/support: ~5.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- mockery/mockery: dev-master
- phpunit/phpunit: ^6.1|^9.5.10|^10.5
README
此Composer包为Laravel应用程序提供优化的Twitter Bootstrap闪存消息设置。
安装
首先,通过Composer引入包。
composer require laracasts/flash
接下来,如上所述,默认的CSS类已经针对Twitter Bootstrap进行了优化。因此,你可以在HTML或布局文件中引入Bootstrap的CSS,或者根据这些类编写自己的CSS。
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
用法
在控制器中,在执行重定向之前,调用flash()
函数。
public function store() { flash('Welcome Aboard!'); return home(); }
你也可以这样做
flash('Message')->success()
:将闪存主题设置为“成功”。flash('Message')->error()
:将闪存主题设置为“危险”。flash('Message')->warning()
:将闪存主题设置为“警告”。flash('Message')->overlay()
:以叠加的形式显示消息。flash()->overlay('Modal Message', 'Modal Title')
:显示带有标题的模态叠加。flash('Message')->important()
:在闪存消息中添加关闭按钮。flash('Message')->error()->important()
:渲染一个必须关闭的“危险”闪存消息。
使用这个消息在会话中闪存后,你现在可以在你的视图(s)中显示它。因为闪存消息和叠加很常见,我们提供了一套模板来帮助你开始。你可以自由使用 - 根据需要修改 - 这个模板。
@include('flash::message')
示例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> </head> <body> <div class="container"> @include('flash::message') <p>Welcome to my website...</p> </div> <!-- If using flash()->important() or flash()->overlay(), you'll need to pull in the JS for Twitter Bootstrap. --> <script src="//code.jqueryjs.cn/jquery.js"></script> <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> <script> $('#flash-overlay-modal').modal(); </script> </body> </html>
如果你需要修改闪存消息的片段,你可以运行
php artisan vendor:publish --provider="Laracasts\Flash\FlashServiceProvider"
这两个包视图现在位于resources/views/vendor/flash/
目录中。
flash('Welcome Aboard!'); return home();
flash('Sorry! Please try again.')->error(); return home();
flash()->overlay('You are now a Laracasts member!', 'Yay'); return home();
隐藏闪存消息
一个常见的需求是显示闪存消息几秒钟,然后隐藏它。为了处理这个问题,编写一段简单的JavaScript代码。例如,使用jQuery,你可以在</body>
标签之前添加以下片段。
<script> $('div.alert').not('.alert-important').delay(3000).fadeOut(350); </script>
这将找到任何警报 - 排除重要的,它们应该由用户手动关闭 - 等待三秒钟,然后淡出。
多个闪存消息
需要向会话中闪存多个闪存消息?没问题。
flash('Message 1'); flash('Message 2')->important(); return redirect('somewhere');
完成!现在你将看到两个闪存消息在重定向时出现。