freddygenicho / laravel-africastalking-notification
Africastalking Notification Channel for laravel
Requires
- php: ^7.1.3
- africastalking/africastalking: ^2.2
- illuminate/notifications: ^5.3
- illuminate/support: ^5.3
Requires (Dev)
- mockery/mockery: ^1.0
- phpunit/phpunit: ^7.0
README
Laravel AfricasTalking Notification Channel
Use this package to send sms notifications via Africastaclking. Laravel 5.3+ required.
Install
This package can be installed through Composer.
composer require freddygenicho/laravel-africastalking-notification
If installing on < Laravel 5.5 then add the service provider:
// config/app.php 'providers' => [ ... FreddyGenicho\AfricasTalking\AfricasTalkingNotificationServiceProvider::class, ... ];
First, publish configuration files
php artisan vendor:publish --provider="FreddyGenicho\AfricasTalking\AfricasTalkingNotificationServiceProvider"
This will publish the africastalking configuration file into the config directory as africastalking.php. This file contains all the configurations required to use the package.
Example Usage
Use Artisan to create a notification:
php artisan make:notification SomeNotification
Return [africasTalking]
in the public function via($notifiable)
method of your notification:
/** * @param $notifiable * @return array */ public function via($notifiable) { return ['africasTalking']; }
Add the method public function toAfricasTalking($notifiable)
to your notification, and return an instance of AfricasTalkingMessage
:
use FreddyGenicho\AfricasTalking\Message\AfricasTalkingMessage; ... /** * Get the AfricasTalking representation of the notification. * @param $notifiable * @return AfricasTalkingMessage */ public function toAfricasTalking($notifiable) { return (new AfricasTalkingMessage()) ->content('Hello world') ->from('Genicho'); }
In order to let your Notification know which phone are you sending/calling to, the channel will look for the phone_number
attribute of the Notifiable model. If you want to override this behaviour, add the routeNotificationForAfricasTalking
method to your Notifiable model.
public function routeNotificationForAfricasTalking() { return '+25412345678'; }
Security
If you discover any security related issues, please email fredygenicho@gmail.com instead of using the issue tracker.
License
The MIT License (MIT). Please see License File for more information.