zing / laravel-sms
Provides sms notification channel for Laravel.
Installs: 1 637
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 2
Forks: 2
Open Issues: 2
Requires
- php: ^8.0
- ext-json: *
- graham-campbell/manager: ^4.3 || ^5.0
- illuminate/console: ^8.0 || ^9.0 || ^10.0 || ^11.0
- illuminate/notifications: ^8.0 || ^9.0 || ^10.0 || ^11.0
- overtrue/easy-sms: ^2.4.2
Requires (Dev)
- composer/class-map-generator: ^1.0
- mockery/mockery: ~1.3.3 || ^1.4.2
- nunomaduro/larastan: ^1.0 || ^2.0
- orchestra/testbench: ^6.0 || ^7.0 || ^8.0 || ^9.0
- phpstan/phpstan-mockery: ^1.0
- phpunit/phpunit: ^9.3.3 || ^10.0
- zing/coding-standard: ^6.4 || ^7.0
- 6.x-dev
- dev-master / 6.x-dev
- 6.4.0
- 6.3.1
- 6.3.0
- 6.2.0
- 6.1.0
- 6.0.0
- 5.x-dev
- 5.1.2
- 5.1.1
- 5.1.0
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.x-dev
- 4.3.1
- 4.3.0
- 4.2.1
- 4.2.0
- 4.1.0
- 4.0.0
- 3.x-dev
- 3.6.1
- 3.6.0
- 3.5.8
- 3.5.7
- 3.5.6
- 3.5.5
- 3.5.4
- 3.5.3
- 3.5.2
- 3.5.1
- 3.5.0
- 3.4.0
- 3.3.1
- 3.3.0
- 3.2.0
- 3.1.0
- 3.0.1
- 3.0.0
- 3.0.0-alpha.5
- 3.0.0-alpha.4
- 3.0.0-alpha.3
- 3.0.0-alpha.2
- 3.0.0-alpha.1
- 2.x-dev
- 2.3.0
- 2.2.0
- 2.1.1
- 2.1.0
- 2.0.2
- 2.0.1
- 2.0.0
- 2.0.0-alpha.2
- 2.0.0-alpha.1
- 1.x-dev
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.1.2
- 0.1.1
- 0.1.0
- 0.0.9
- 0.0.8
- 0.0.7
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
- dev-zingimmick-patch-1
- dev-deepsource-config-dcd3b523
- dev-fix-cs
- dev-pest
This package is auto-updated.
Last update: 2024-11-05 18:42:24 UTC
README
Laravel Sms is used to notify via sms and send a message.
Thanks
Many thanks to:
-
JetBrains for the excellent PhpStorm IDE and providing me with an open source license to speed up the project development.
Requirements
Installation
Composer
Execute the following command to get the latest version of the package:
composer require zing/laravel-sms
Laravel
Publish Configuration
php artisan vendor:publish --provider "Zing\LaravelSms\SmsServiceProvider"
Add Connections
This package based on overtrue/easy-sms, driver is the gateway.
Usage
Channel
Create a Notification
use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Notifications\Notification; class Verification extends Notification implements ShouldQueue { use Queueable; protected $code; /** * Verification constructor. * * @param $code */ public function __construct($code) { $this->code = $code; } public function via() { return ['sms']; } public function toSms($notifiable) { return "验证码 {$this->code},您正在进行身份验证,打死也不要告诉别人哦!"; } }
Add notification route for sms to your notifiable
use Illuminate\Notifications\Notifiable; class User { use Notifiable; public function routeNotificationForSms($notification) { return $this->phone; } }
Send notification
use Illuminate\Support\Facades\Notification; $user = new User(); // use Notifiable Trait $user->notify(new Verification('1111')); // use Notification Facade Notification::send($user, new Verification('1111'));
Send to anonymous notifiable
use Illuminate\Support\Facades\Notification; use Zing\LaravelSms\SmsNumber; use Zing\LaravelSms\Channels\SmsChannel; // use channel class name Notification::route(SmsChannel::class, new SmsNumber(18188888888, 86))->notify(new Verification('1111')); // use channel alias Notification::route('sms', new SmsNumber(18188888888, 86))->notify(new Verification('1111'));
Facade
Send Message
use Zing\LaravelSms\Facades\Sms; // use default connection Sms::send(18188888888, 'test message.'); // use specific connection Sms::connection('null')->send(18188888888, 'test message.'); // or Sms::via('null')->send(18188888888, 'test message.');
Specific usage
Use specific connection for notification
NOTE: Only support for Zing\LaravelSms\SmsMessage
use Zing\LaravelSms\SmsMessage; public function toSms($notifiable) { return (new SmsMessage())->onConnection('log'); }
Make PhoneNumber notifiable
NOTE: Only support for Zing\LaravelSms\SmsNumber
use Zing\LaravelSms\SmsNumber; (new SmsNumber(18188888888))->notify(new Verification('1111'));
License
Laravel Sms is open-sourced software licensed under the MIT license.