demmonico/yii2-sms

Yii2 扩展,允许使用多个服务提供商发送短信。现在支持 Nexmo 提供商。

安装: 100

依赖: 0

建议: 0

安全性: 0

星级: 0

关注者: 2

分支: 0

开放问题: 0

类型:yii2-extension

v1.0.2 2016-11-18 13:44 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:53:15 UTC


README

##Yii2 组件 - Sms Sender

##描述

return [
    //...
    'components' => [
        //...
        'sms' => [
            'class' => 'demmonico\sms\Sender',
            'senderNumber' => 'name' or 'number',
            'provider' => [
                'class' => 'demmonico\sms\Nexmo',
                'apiKey' => '***',
                'apiSecret' => '***',
            ],
        ],
    ],
];

Yii2 组件,允许通过多个提供商简单发送短信。支持使用 yii 配置文件(更佳)。

$component = \Yii::createObject('demmonico\sms\Nexmo', [
    [
        'class' => 'demmonico\sms\Sender',
        'senderNumber' => 'name' or 'number',
        'provider' => [
            'class' => 'demmonico\sms\Nexmo',
            'apiKey' => '***',
            'apiSecret' => '***',
        ],
    ],
]);

##配置

###通用参数

return [
    //...
    'components' => [
        //...
        'sms' => [
            'class' => 'demmonico\sms\Sender',
            'senderNumber' => 'name' or 'number',
            'provider' => [
                'class' => 'demmonico\sms\Nexmo',
                'apiKey' => [
                    'component' => 'config',
                    'sms.Nexmo.apiKey',
                ],
                'apiSecret' => [
                    'component' => 'config',
                    'sms.Nexmo.apiSecret',
                ],
            ],
        ],
    ],
];

或 DI

return [
    //...
    'sms.Nexmo.apiKey' => '******',
    'sms.Nexmo.apiSecret' => '******',
];

或使用配置组件的 bootstrap 方法(参见 https://github.com/demmonico/yii2-config

在配置文件中

return [
    //...
    'components' => [
        //...
        'sms' => [
            //...
            'debug' => [
                'redirectNumber' => 'number',
                'dummyNumbers' => [
                    'number',
                    //...
                ],
            ],
        ],
    ],
];

和在本地参数文件中

Yii::$app->sms->sendSms('Hello, world!', 'number');

现在只提供 Nexmo 提供商。但您可以添加任何外部类和自定义提供商。可以通过创建实现 demmonico\sms\SmsProviderInterface 并扩展(可选)demmonico\sms\BaseProvider 的类来添加新提供商。

Yii::$app->sms->sendSms('Hello, world!', 'recipientNumber', 'senderNumber');

###调试参数

为了调试,您可以使用重定向选项和模拟选项。它们可以单独使用或一起使用。如果设置了重定向选项 redirectNumber,则所有消息都将发送到该号码。如果设置了模拟选项 dummyNumbers,并且字段 $to 与任何 dummyNumbers 元素匹配,则发送过程将被跳过,并记录所有短信字段。

Yii::$app->sms->getBalance();

##使用

###发送短信

Yii::$app->sms->getNumbers();