nnrudakov/yii2-sms

通过不同的服务在Yii2中发送短信。

v2.0.1 2022-06-21 19:38 UTC

README

用于通过不同服务发送短信的Yii2扩展。

有关许可信息,请参阅LICENSE文件。

Latest Stable Version Total Downloads License

要求

  • PHP >= 8.1(如果需要低于8.0的PHP版本,请使用v1.3.1)
  • Yii2 >= 2.0.41

安装

安装此扩展的首选方式是通过composer

运行以下命令之一:

composer require --prefer-dist nnrudakov/yii2-sms

或者将以下内容添加到您的composer.json文件的require部分。

"nnrudakov/yii2-sms": "^2.0"

配置

在您的配置中添加以下内容

您可以覆盖消息翻译

...
    'components' => [
        'sms' => [
            'class' => nnrudakov\sms\Sms::class,
                'services' => [
                    'beeline' => [
                        'class'    => nnrudakov\sms\services\beeline\Beeline::class,
                        'user'     => '',
                        'password' => ''
                    ]
                ]
        ],
        ...
    ],
...

例如,您可以在俄语消息文件中找到消息的完整列表。

...
    'components' => [
        'i18n' => [
            'translations' => [
                'sms' => [ // must be the same name
                    'class'            => yii\i18n\PhpMessageSource::class,
                    'basePath'         => '@app/messages',
                    'sourceLanguage'   => 'ru',
                    'forceTranslation' => true
                ],
            ],
        ],
        ...
    ],
...

用法

一旦安装了扩展,只需在您的代码中通过以下方式使用它

在关键情况下,扩展可能会抛出异常或填充内部错误列表。您可以通过以下方式检查错误

 $service = Yii::$app->sms->getService('beeline');
 $service->send(['+7905XXXXXXX'], 'message');

要获取完整的错误列表,只需调用

 $service->hasErrors();

要获取特定电话号码的错误,请添加号码作为参数

 $service->getErrors();

服务

 $service->getErrors('+7905XXXXXXX');

扩展实现了以下服务

服务

  • Beeline。需要与账户签订的合同和凭据。您应将凭据粘贴到服务配置中
...
    'beeline' => [
        'class'    => nnrudakov\sms\services\beeline\Beeline::class,
        'user'     => 'beeline_user',
        'password' => 'beeline_password'
    ]
...

测试

测试使用Codeception

vendor/bin/codecept run unit