garf / laravel-notifications
便捷的闪存通知
Requires
- php: >=5.4.0
- illuminate/support: >=5.1.3 <5.5
Requires (Dev)
- phpunit/phpunit: ~4.0
README
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 警报格式。
其他
消息计数
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)。请参阅许可文件以获取更多信息。