garf/laravel-notifications

便捷的闪存通知

2.1.1 2017-01-26 08:49 UTC

This package is auto-updated.

Last update: 2024-09-20 01:31:48 UTC


README

Laravel Version Packagist Licence Build Status

Laravel Notifications

俄语文档 / Русская документация

Laravel 5 的通知系统。

通常在保存用户数据后,您需要重定向到适当的页面并通知用户操作是否成功或出现错误。

现在您可以通过更方便、更简单的方式完成这些操作。

安装

要安装,请在控制台执行以下命令

$ composer require "garf/laravel-notifications:2.*"

完成后,将以下内容添加到您的 config/app.php 文件的 providers 部分

'providers' => [
    // ...
    Garf\LaravelNotifications\LaravelNotificationsServiceProvider::class,
]

如果您想使用 Notifications 外观,请将其添加到同一文件的 aliases 部分

'aliases' => [
    // ...
  'Notifications' => Garf\LaravelNotifications\NotificationsFacade::class,
]

要更改模板,请在控制台执行以下命令

php artisan vendor:publish --provider="Garf\LaravelNotifications\LaravelNotificationsServiceProvider" --tag="config"

现在您可以在 config/laravel-notifications.php 中为通知渲染设置任何视图文件。

可选地,您可以在控制台执行以下命令以编辑默认模板,而不是使用您自己的模板

php artisan vendor:publish --provider="Garf\LaravelNotifications\LaravelNotificationsServiceProvider" --tag="views"

注意:如果您发布了视图并进行了编辑,请不要更改配置文件中视图的名称。

使用方法

保存消息以供下次请求使用

Notifications::add('Your message text', 'type', 'group');

$type 参数特别用于 Twitter Bootstrap 渲染。它显示具有相应类的警报。

例如,如果您将 type 设置为 danger,则会在 toBootstrap() 格式方法中生成具有类 'alert alert-danger' 的警报。

$group 参数将消息分组。:) 在下一个请求中,您可以通过分组检索它们。

还可以使用更方便的别名

    Notifications::info('Your message text', 'group');
    Notifications::success('Your message text', 'group');
    Notifications::warning('Your message text', 'group');
    Notifications::danger('Your message text', 'group');
    Notifications::error('Your message text', 'group');

检索消息

所有消息

Notifications::all()->get();

按组检索消息

Notifications::byGroup('my-group')->get();

按类型检索消息

Notifications::byType('warning')->get();

格式化消息

您还可以格式化消息

JSON

您可以将所有消息检索和格式化为 JSON

Notifications::all()->toJson();

或通过组或类型进行过滤

Notifications::byType('success')->toJson();

Notifications::byGroup('login')->toJson();

使用 blade 视图文件渲染

您还可以使用自定义视图文件渲染通知

{{ Notifications::all() }}

并且您也可以通过组或类型进行过滤

{{ Notifications::byType('info') }}

{{ Notifications::byGroup('registration') }}

默认情况下,方法使用 Twitter Bootstrap 警报格式。

Twitter Bootstrap 可选。

其他

消息计数

Notifications::all()->count();

检查是否存在消息

Notifications::all()->has();

获取第一条消息

Notifications::all()->first();

表单请求使用

如果您想通过 Laravel 表单请求显示错误,您需要在您的表单请求类中覆盖 formatErrors() 方法。

    public function formatErrors(Validator $validator){
        foreach ($validator->errors()->all() as $error) {
            Notifications::add($error, 'danger');
        }

        return $validator->errors()->getMessages();
    }

不要忘记在文件开头导入 Validator

use Illuminate\Contracts\Validation\Validator;

贡献

高度赞赏贡献。

请将您的 pull 请求发送到 master 分支。

许可

MIT 许可证 (MIT)。请参阅许可文件以获取更多信息。