fahmiardi / laravel-notification
Various laravel notifications channels
0.1
2016-12-15 17:56 UTC
Requires
- aws/aws-sdk-php: ^3.20
- illuminate/notifications: ~5.0
- illuminate/support: ~5.0
This package is not auto-updated.
Last update: 2024-12-16 15:51:57 UTC
README
Available Channels:
- AWS SNS (Simple Notification Services), support using
credentials
orprofile
Install
$ composer require fahmiardi/laravel-notification
Setup
Add config to app/services.php
:
return [ ... 'sns' => [ 'key' => env('SNS_KEY'), 'secret' => env('SNS_SECRET'), 'region' => env('SNS_REGION'), 'profile' => env('AWS_PROFILE'), // keep this value empty when using credentials ], ];
Usage
Use generic:
<?php $user->notify( new \Fahmiardi\Laravel\Notifications\GenericSnsNotification($topicArn, $subject, $message) );
Create your own:
Read the official page https://laravel.com/docs/5.3/notifications#creating-notifications
<?php namespace App\Notifications; use Illuminate\Notifications\Notification; use Fahmiardi\Laravel\Notifications\Channels\SnsChannel; use Fahmiardi\Laravel\Notifications\Messages\SnsMessage; class InvoicePaid extends Notification { protected $invoice; public function __construct($invoice) { $this->invoice = $invoice; } public function via($notifiable) { return [SnsChannel::class]; } public function toSns($notifiable) { return (new SnsMessage) ->topicArn('ARN') ->subject('SUBJECT') ->message('MESSAGE'); } } $user->notify(new InvoicePaid($invoice));