zaichaopan/flash

一个使闪存消息更灵活的简单包

v0.1-beta 2018-06-21 23:09 UTC

This package is not auto-updated.

Last update: 2024-09-22 05:51:55 UTC


README

此包使得Laravel的闪存消息更加灵活。它可以用于Laravel 5.5或更高版本。

安装

composer require zaichaopan/flash

使用

在Laravel中,你可以像下面这样闪存消息

$request->session()->flash($key, $message);

或者你可以在重定向时使用with方法

// in your controller action method
return redirect()->with($key, $message);

// or take advantage of dynamically binding
return redirect()->withSuccess($message); // or withError, withWarning, ...

但问题是,当你在blade中显示闪存消息时,你的闪存消息可能有不同的键(例如错误、成功等)。你必须检查所有可能的键来确定你是否在blade中显示闪存消息。这个包可以帮助你简化这个过程。

  • 闪存一条消息

此包提供了一个全局辅助方法flash来创建一个闪存实例。创建闪存实例后,你可以调用五种不同类型的方法来生成五种不同类型的闪存消息。每种方法接受两个参数:消息options

第一个是必需的,用于设置闪存的消息体。第二个是一个数组,是可选的。用于向闪存添加附加数据。

// generate a general info message
flash()->info($message, $options) ;

// generate a success message
flash()->success($message, $options);

// generate a warning message
flash()->warning($message, $options);

// generate a danger message
flash()->danger($message, $options);

// generate an error message
flash()->error($message, $options);
  • 检查是否存在闪存
<!-- your blade -->
@if (flash()->ready())
<!-- your flash html -->
@endif
  • 获取闪存类型
flash()->type();
  • 获取闪存消息
flash()->message();
  • 获取附加选项数据
flash()->options();
  • 将数据传递给javascript

在现实生活中,你可能想创建一个Vue的闪存组件,用于显示从服务器或从js接收的闪存消息。假设你有一个名为Flash.vue的组件,其中有一个名为flash的属性。

<Flash :flash={{ json_encode(flash()) }}></Flash>

现在如果没有闪存,flash属性将是一个null值。如果有闪存消息,其值将是一个包含属性:messagetypeoptions的对象。