digitalcloud/reactive-notification

响应式 Laravel 通知

v1.0 2018-12-30 13:10 UTC

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

用法

  1. 将模型中使用的 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;
}
  1. 将投递通道从 databaseDatabaseChannel 更改为 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" => "发票详情" ]

然后更改旧语言从 enar

\App::setLocale("ar");
$result = $user->notifications()->first()->data;

结果将是 [ "title" => "عنوان الفاتورة", "details" => "تفاصيل الفاتورة" ]