Laravel Sms is used to notify via sms and send a message.
Many thanks to:
-
JetBrains for the excellent PhpStorm IDE and providing me with an open source license to speed up the project development.
Execute the following command to get the latest version of the package:
composer require zing/laravel-sms
Publish Configuration
php artisan vendor:publish --provider "Zing\LaravelSms\SmsServiceProvider"
This package based on overtrue/easy-sms, driver is the gateway.
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},您正在进行身份验证,打死也不要告诉别人哦!";
}
}
use Illuminate\Notifications\Notifiable;
class User
{
use Notifiable;
public function routeNotificationForSms($notification)
{
return $this->phone;
}
}
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'));
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'));
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.');
NOTE: Only support for Zing\LaravelSms\SmsMessage
use Zing\LaravelSms\SmsMessage;
public function toSms($notifiable)
{
return (new SmsMessage())->onConnection('log');
}
NOTE: Only support for Zing\LaravelSms\SmsNumber
use Zing\LaravelSms\SmsNumber;
(new SmsNumber(18188888888))->notify(new Verification('1111'));
Laravel Sms is open-sourced software licensed under the MIT license.