laravel闪存flash

2019-04-09 15:50:10 浏览数 (1)

闪存介绍

由于 HTTP 协议是无状态的,所以 Laravel 提供了一种用于临时保存用户数据的方法 - 会话(Session),并附带支持多种会话后端驱动,可通过统一的 API 进行使用。

我们可以使用 session() 方法来访问会话实例。而当我们想存入一条缓存的数据,让它只在下一次的请求内有效时,则可以使用 flash 方法。flash 方法接收两个参数,第一个为会话的键,第二个为会话的值,我们可以通过下面这行代码的为会话赋值。

image.png

在控制器中定义闪存:

代码语言:javascript复制
session()->flash('success', '欢迎,您将在这里开启一段新的旅程~');

之后我们可以使用 session()->get('success') 通过键名来取出对应会话中的数据

消息提示视图

创建消息提示视图 resources/views/shared/_messages.blade.php

代码语言:javascript复制
@foreach (['danger', 'warning', 'success', 'info'] as $msg)
  @if(session()->has($msg))
    <div class="flash-message">
      <p class="alert alert-{{ $msg }}">
        {{ session()->get($msg) }}
      </p>
    </div>
  @endif
@endforeach

在全局通用视图resources/views/layouts/default.blade.php中加入消息提示视图

代码语言:javascript复制
#...
@include('shared._messages')
@yield('content')
#...

0 人点赞