承接 salamwaddah/laravel-smsglobal-notifications-channel 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

salamwaddah/laravel-smsglobal-notifications-channel

最新稳定版本:v1.1.2

Composer 安装命令:

composer require salamwaddah/laravel-smsglobal-notifications-channel

包简介

SmsGlobal notification channel for Laravel 10, 11, 12

README 文档

README

Latest Version on Packagist Total Downloads MIT Licensed

Laravel SMSGlobal

Use this package to send SMS with SmsGlobal

Installation

composer require salamwaddah/laravel-smsglobal-notifications-channel

Configure

In your services.php config file add the following configs.

    // ... 
    
    'sms_global' => [
        'debug' => env('SMS_GLOBAL_DEBUG', true),
        'api_key' => env('SMS_GLOBAL_API_KEY'),
        'api_secret' => env('SMS_GLOBAL_API_SECRET'),
        'origin' => 'YourCompanyName',
    ],

Debug Mode

Debug mode is on by default, which means SMS will not be actually sent, instead only a log record will be added to /storage/logs/laravel.log

In your services.php change the value of sms_global.debug to false

Usage

Notification class

Using Laravel notification class add SmsGlobalChannel::class to via() method like so:

use Illuminate\Notifications\Notification;
use SalamWaddah\SmsGlobal\SmsGlobalChannel;
use SalamWaddah\SmsGlobal\SmsGlobalMessage;

class OrderPaid extends Notification
{

    public function via($notifiable): array
    {
        return [
            SmsGlobalChannel::class,
        ];
    }

    public function toSmsGlobal($notifiable): SmsGlobalMessage
    {
        $message = 'Order paid, Thank you for your business!';

        $smsGlobal = new SmsGlobalMessage();

        return $smsGlobal->to($notifiable->phone)->content($message);
    }
}

On demand notification

You can utilize Laravel on-demand notification facade to send SMS directly to a phone number without having to store a user in your application.

Notification::send(
    '+971555555555',
    new OrderPaid($order)
);

The notifiable argument in toSmsGlobal of your notification class should expect the same data type you passed to the Notification facade.

In this example, we passed the phone number as a string because we don't have a "user" and so toSmsGlobal should expect a string.

public function toSmsGlobal(string $phoneNumber): SmsGlobalMessage
{
    $message = 'Order paid, Thank you for your business!';

    $smsGlobal = new SmsGlobalMessage();

    return $smsGlobal->to($phoneNumber)->content($message);
}

统计信息

  • 总下载量: 494
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 5
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 5
  • Watchers: 1
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-06-27