Using Textlocal offical PHP Class, this package makes it easy sending SMS notifications in Laravel
- Sign up for a free Textlocal account
- Create a new API Key in the settings section
You can install the package via composer
composer require avinashmphp/textlocal
Add ServiceProvider to the providers array in your config/app.php
Avinashmphp\Textlocal\TextlocalServiceProvider::class,
To copy the distribution configuration file to your app's config directory config/textlocal.php
php artisan vendor:publish --tag=textlocal
Then update config/textlocal.php with your credentials. Alternatively, you can update your .env file with the following
TEXTLOCAL_KEY="" TEXTLOCAL_SENDER=""
Now you can use the channel in your via() method inside the notification:
use Avinashmphp\Textlocal\TextlocalChannel; use Illuminate\Notifications\Notification; class PostApproved extends Notification { public function via($notifiable) { return [TextlocalChannel::class]; } public function toTextlocal($notifiable) { return "Your {$notifiable->service} account was approved!" } }
In order to let your Notification know which phone are you sending to, the channel will look for the phone_number attribute of the Notifiable model. If you want to override this behaviour, add the routeNotificationForTextlocal method to your Notifiable model.
public function routeNotificationForTextlocal() { return $this->mobile; // where 'mobile' is a field in users table; }
The MIT License.