1. Go to this page and download the library: Download zhb/nexmo-bundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use Zhb\NexmoBundle\Message\TextMessage;
use Zhb\NexmoBundle\Provider\MailProvider;
use Zhb\NexmoBundle\Provider\ProviderInterface;
use Zhb\NexmoBundle\Provider\SmsProvider;
class SmsController extends AbstractController
{
private $provider;
private $emailProvider;
private $smsProvider;
public function __construct(ProviderInterface $provider, MailProvider $emailProvider, SmsProvider $smsProvider)
{
$this->provider = $provider; // provider defined in zhb_nexmo.yaml provider key.
$this->emailProvider = $emailProvider;
$this->smsProvider = $smsProvider;
}
/**
* @Route("/sms/send", name="sms_send")
*/
public function send()
{
// phone number must be in E.164 format
$message = new TextMessage('+41798562466', 'Sms message content');
// message setters overrides global config defined in config/packages/zhb_nexmo.yaml
$message->setFrom('Tom Cruise');
$message->setTtl(900000); // in milliseconds
$message->setCallback('https://website.com/zhb-nexmo/delivery-receipt');
$message->setClientRef('custom_sms_reference');
$response = $this->provider->send($message);
var_dump($response);
$this->emailProvider->send($message);
$this->smsProvider->send($message);
...
}
}
namespace App\EventSubscriber;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Zhb\NexmoBundle\Event\DeliveryReceiptEvent;
use Zhb\NexmoBundle\Event\ZhbNexmoEvents;
class DeliveryReceiptSubscriber implements EventSubscriberInterface
{
public function onSmsStatusChanged(DeliveryReceiptEvent $event)
{
$deliveryReceipt = $event->getDeliveryReceipt();
...
}
public static function getSubscribedEvents()
{
return [
ZhbNexmoEvents::SMS_STATUS_CHANGED => 'onSmsStatusChanged',
];
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.