adapik / sms-bundle
Sms sending system with different providers
Package info
Type:symfony-bundle
pkg:composer/adapik/sms-bundle
3.1.1
2022-03-09 09:31 UTC
Requires
- php: >=7.4.0
- guzzlehttp/guzzle: ^6.5
- symfony/framework-bundle: ^6.0
Requires (Dev)
- phpunit/phpunit: ^9.0
- symfony/console: ^6.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
This bundle will help you to implement an sms messages to your project
Installation
You can install this bundle by the following command:
$ composer require yamilovs/sms-bundle ^1.0
Configuration
You can define as many provider configurations as you want. Available providers are:
- Message Bird [messagebird.com]
- Sms Ru [sms.ru]
- Sms Aero [smsaero.ru]
- Sms Discount [iqsms.ru]
- Sms Center [smsc.ru]
Usage
In your controller
<?php // src/Controller/FooController.php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Yamilovs\Bundle\SmsBundle\Service\ProviderManager; use Yamilovs\Bundle\SmsBundle\Sms\Sms; class FooController extends Controller { public function barAction(ProviderManager $providerManager) { $sms = new Sms('+12345678900', 'The cake is a lie'); $provider = $providerManager->getProvider('your_provider_name'); $provider->send($sms); } }
If you want to schedule an sms delivery
<?php // src/Controller/FooController.php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Yamilovs\Bundle\SmsBundle\Service\ProviderManager; use Yamilovs\Bundle\SmsBundle\Sms\Sms; class FooController extends Controller { public function barAction(ProviderManager $providerManager) { // Your selected sms provider $provider = $providerManager->getProvider('your_provider_name'); // Date of sms delivery $worldCupStartDate = (new \DateTime("2018:06:30 00:00:00"))->setTimezone(new \DateTimeZone('Europe/London')); $remindDate = (new \DateTime())->add(new \DateInterval('PT5M')); // Create new delayed sms $worldCupStartSms = new Sms('+12345678900', '2018 FIFA World Cup started!', $worldCupStartDate); $remindSms = new Sms('+12345678900', 'I will remind you of football', $remindDate); // Send delayed delivery to provider $provider->send($worldCupStartSms); // will be sent at 2018:06:30 00:00:00 $provider->send($remindSms); // will be sent after 5 minutes } }