nnrudakov / yii2-sms
Send SMS via different services in Yii2.
Installs: 3 239
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 1
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: 2025-02-20 01:22:23 UTC
README
Yii2 extension to send SMS via different services.
For license information check the LICENSE-file.
Requirements
- PHP >= 8.1 (use v1.3.1 if you need PHP earlier 8.0)
- Yii2 >= 2.0.41
Installation
The preferred way to install this extension is through composer.
Either run
composer require --prefer-dist nnrudakov/yii2-sms
or add
"nnrudakov/yii2-sms": "^2.0"
to the require section of your composer.json
file.
Configuration
Add the following in your config:
... 'components' => [ 'sms' => [ 'class' => nnrudakov\sms\Sms::class, 'services' => [ 'beeline' => [ 'class' => nnrudakov\sms\services\beeline\Beeline::class, 'user' => '', 'password' => '' ] ] ], ... ], ...
You can override message translations:
... 'components' => [ 'i18n' => [ 'translations' => [ 'sms' => [ // must be the same name 'class' => yii\i18n\PhpMessageSource::class, 'basePath' => '@app/messages', 'sourceLanguage' => 'ru', 'forceTranslation' => true ], ], ], ... ], ...
As an example full list messages you can find in russian message file.
Usage
Once the extension is installed, simply use it in your code by:
$service = Yii::$app->sms->getService('beeline'); $service->send(['+7905XXXXXXX'], 'message');
Extension may throw exceptions in critical situations or fill up internal erorrs list. You can checkout errors by:
$service->hasErrors();
To get full errors list just call:
$service->getErrors();
To get error for certain phone number add number as parameter:
$service->getErrors('+7905XXXXXXX');
Services
Extension implements these services:
- Beeline. Signed contract and credentials to account are required. You should paste credentials in service config:
... 'beeline' => [ 'class' => nnrudakov\sms\services\beeline\Beeline::class, 'user' => 'beeline_user', 'password' => 'beeline_password' ] ...
Tests
For tests uses Codeception.
vendor/bin/codecept run unit