phpinfo/smsfeedback-bundle

Symfony SmsFeedback SDK integration

Installs: 2

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

Type:symfony-bundle

1.1.0 2019-06-08 18:33 UTC

This package is auto-updated.

Last update: 2024-05-09 05:10:26 UTC


README

Provides SmsFeedback SDK integration with Symfony 4 Framework.

Installation

Require the bundle with Composer:

composer require phpinfo/smsfeedback-bundle

Register the bundle in config/bundles.php:

return [
    SmsFeedbackBundle\SmsFeedbackBundle::class => ['all' => true],
];

Create simple configuration file in config/packages/sms_feedback.yaml:

sms_feedback:
    login: '%env(SMSFEEDBACK_LOGIN)%'
    password: '%env(SMSFEEDBACK_PASSWORD)%'

Provide credentials as environment variables in .env.local:

SMSFEEDBACK_LOGIN=my_login
SMSFEEDBACK_PASSWORD=my_password

Usage

The ApiClient object is now registered in the container with its interface name: SmsFeedback\ApiClientInterface\ApiClientInterface.

Controller usage example:

use SmsFeedback\ApiClientInterface;

class IndexController extends AbstractController
{
    public function index(ApiClientInterface $smsfeedback): Response
    {
        $message = $smsfeedback->send('79161234567', 'Some text');

        return new Response($message->getStatus());
    }
}

Console command usage example:

use SmsFeedback\ApiClientInterface;

class TestCommand extends Command
{
    private $smsfeedback;

    public function __construct(ApiClientInterface $smsfeedback)
    {
        parent::__construct();

        $this->smsfeedback = $smsfeedback;
    }

    protected function execute(InputInterface $input, OutputInterface $output)
    {
        $this->smsfeedback->send('79161234567', 'Some text');
    }
}

See SmsFeedback SDK documentation for advanced usage cases.

Configuration

Configuration options:

sms_feedback:
    # Auth login (required)
    login: 'my-login'
    
    # Auth password (required)
    password: 'my-password'
    
    # Endpoint base URI
    uri: 'http://api.smsfeedback.ru'
    
    # Request timeout
    timeout: 5000
    
    logger:
        # Determines if logger is enabled (default false)
        enabled: true
        
        # Determines logger service name
        service: 'Psr\Log\LoggerInterface'

Resources