cspoo/symfony-sms-bundle

Symfony SMS bundle

Installs: 2 446

Dependents: 0

Suggesters: 0

Security: 0

Stars: 4

Watchers: 2

Forks: 4

Open Issues: 1

Type:symfony-bundle

dev-master 2015-04-07 10:02 UTC

This package is auto-updated.

Last update: 2024-04-07 14:25:17 UTC


README

Symfony2 bundle for supporting SMS

Activate the bundle

In your AppKernel:

    new cspoo\SmsBundle\cspooSmsBundle(),

Example of configuration

# config.yml
cspoo_sms:
    default_transport: winic
    transports:
        -
            name: winic
            type: winic
            username: foo
            password: bar

Usage in controller

        $smsSender = $this->container->get('sms');
        $sms = $smsSender->createSms($phone, $token);
        $smsSender->sendSms($sms);

Adding your own provider

If you have a provider that needs a username/password you can simply add it by doing these steps

Create a Transport class

In the Transport folder add a classe MyOwnTransport.php and put in it

<?php

namespace cspoo\SmsBundle\Transport;

use cspoo\SmsBundle\Model\Sms;

class WinicTransport extends BaseTransport
{

    public function getName()
    {
        return 'name of the provider';
    }

    public function sendSms(Sms $sms)
    {
        $id = urlencode($this->getUsername());
        $password = urlencode($this->getPassword());
        $to = urlencode($sms->getRecipient());
        $content = urlencode($sms->getMessage());

        // your provider specific code

        // return whatever you want
        return 42;
    }
}

Add your Transport class in the SMS factory

In the Services folder you can edit SmsFactory.php to populate the loadTransport method with your new class

Add your Transport name in the list of possible configuration parameter

In DependencyInjection/Configuration.php you can provider name in the list of possible entry