adapik/sms-bundle
Symfony bundle for sending and scheduling SMS via multiple providers (MessageBird, SMS.ru, SMS Aero, SMS Discount, SMS Center). Configure multiple providers, pick one via ProviderManager, create Sms objects with optional delivery time, and send.
This bundle will help you to implement an sms messages to your project
You can install this bundle by the following command:
$ composer require yamilovs/sms-bundle ^1.0
You can define as many provider configurations as you want. Available providers are:
<?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
}
}
How can I help you explore Laravel packages today?