/laravel-notification-event-subscriber

Event subscriber for Laravel notifications.

Primary LanguagePHPMIT LicenseMIT

image

Laravel Notification Event Subscriber

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

This package allows you to run any kind of actions while a notification is being sent or after it has been sent using onSent() and onSending() methods.

It registers an event subscriber NotificationEventSubscriber and listens to the NotificationSent and NotificationSending events of Laravel. When one of them is fired, the event subscriber runs a defined method according to the event.

Installation

You can install the package via composer:

composer require tkaratug/laravel-notification-event-subscriber

Usage

namespace App\Notifications;

use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Support\Facades\Log;

class UserRegisteredNotification extends Notification
{   
    public function via($notifiable): array
    {
        return ['mail'];
    }
    
    public function toMail($notifiable): MailMessage
    {
        return (new MailMessage)
                    ->greeting('foo')
                    ->line('bar');
    }
    
    public function onSending(string $channel, $response = null): void
    {
        Log::info($this::class . ' is being sent via ' . $channel);        
    }
    
    public function onSent(string $channel): void
    {
        Log::info($this::class . ' has been sent via ' . $channel);
    }
}

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.