nnrudakov / yii2-sms
通过不同的服务在Yii2中发送短信。
v2.0.1
2022-06-21 19:38 UTC
Requires
- php: >=8.1
- guzzlehttp/guzzle: ~6.0
- yiisoft/yii2: ~2.0.41
Requires (Dev)
- codeception/codeception: ^4.0
- codeception/module-asserts: ^1.0
- codeception/module-filesystem: ^1.0
- codeception/module-yii2: ^1.0
- codeception/specify: ^1.0
- codeception/verify: ^1.0
- dev-master
- v2.0.1
- v2.0.0
- v1.3.1
- v1.3.0
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.23
- v1.0.22
- v1.0.21
- v1.0.18
- v1.0.16
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.2
- v1.0.1
- v1.0.0
- v0.3.0
- v0.2.0
- v0.1.0
- dev-dependabot/composer/guzzlehttp/psr7-1.9.1
- dev-develop
This package is auto-updated.
Last update: 2024-09-20 00:32:20 UTC
README
用于通过不同服务发送短信的Yii2扩展。
有关许可信息,请参阅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