继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Laravel 的闪存数据(Flash Data)

zhanbao
关注TA
已关注
手记 10
粉丝 24
获赞 286

闪存数据即 Flash Data,它的有效期是到下一个请求为止,主要用在短生命周期的变量传递,比如用户操作成功失败与否,表单验证正确与否等。在 Laravel 中,它有三种实现方式:

  1. 通过 Request 实例的 session 方法
// store flash data
$request->session()->flash('status', 'Task was successful!');

// keep all of the flash data 
$request->session()->reflash();

// keep specific flash data
$request->session()->keep(['username', 'email']);
  1. 通过 RedirectResponse 实例的 with 方法
redirect('dashboard')->with('status', 'Profile updated!');
  1. 通过 View 的构造函数或其实例的 with 方法
return view('greetings', ['name' => 'Victoria']);

return view('greeting')->with('name', 'Victoria');

通过方式一、二传递给视图的数据,使用 session() 辅助函数取得。

@if (session('status'))
    <div class="alert alert-success">
        {{ session('status') }}
    </div>
@endif

通过方式三传递的数据也是一种闪存数据,但它会经过 View 类处理,所以在视图文件中可直接取得。

<!-- View stored in resources/views/greeting.blade.php -->

<html>
    <body>
        <h1>Hello, {{ $name }}</h1>
    </body>
</html>
打开App,阅读手记
3人推荐
发表评论
随时随地看视频慕课网APP