digitalcloud / reactive-notification
响应式 Laravel 通知
v1.0
2018-12-30 13:10 UTC
Requires
- php: >=7.1.0
This package is auto-updated.
Last update: 2024-08-29 04:43:16 UTC
README
安装
需要 PHP >=5.6 和 Laravel ^5.3。
要获取 Reactive Laravel 通知的最新版本,只需使用 Composer 引入项目
composer require digitalcloud/reactive-notification
发布迁移文件
php artisan vendor:publish --provider="Digitalcloud\ReactiveNotification\ReactiveNotificationServiceProvider"
迁移已发布的迁移文件
php artisan migrate
用法
- 将模型中使用的 trait 从
Illuminate\Notifications\Notifiable
更改为Digitalcloud\ReactiveNotification\Traits\Notifiable
<?php namespace App; use Digitalcloud\ReactiveNotification\Traits\Notifiable; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { use Notifiable; }
- 将投递通道从
database
或DatabaseChannel
更改为Digitalcloud\ReactiveNotification\Channels\DatabaseChannel
<?php namespace App\Notifications; use Illuminate\Bus\Queueable; use Illuminate\Notifications\Notification; use Illuminate\Contracts\Queue\ShouldQueue; use Digitalcloud\ReactiveNotification\Channels\DatabaseChannel; class InvoicePaid extends Notification implements ShouldQueue { use Queueable; public function via($notifiable) { return [DatabaseChannel::class,'.../']; } public function toDatabase($notifiable){ return [ "title"=> trans("invoice_title"), "details"=> trans("invoice_details"), ]; } }
示例
$user->notify(new InvoicePaid($invoice)); \App::setLocale("en"); $result = $user->notifications()->first()->data;
结果将是 [ "title" => "发票标题", "details" => "发票详情" ]
然后更改旧语言从 en
到 ar
\App::setLocale("ar"); $result = $user->notifications()->first()->data;
结果将是 [ "title" => "عنوان الفاتورة", "details" => "تفاصيل الفاتورة" ]