progrupa/sms-bundle

发送短信消息的套餐

安装: 51

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 0

开放问题: 0

类型:symfony-bundle

dev-master 2021-12-15 13:17 UTC

This package is auto-updated.

Last update: 2024-09-15 19:22:26 UTC


README

一个可扩展的 Symfony2 套餐,用于发送简单的短信消息。

安装

此套餐通过 composer 提供,只需调用 composer require progrupa/sms-bundle:dev-master 或将 "progrupa/sms-bundle": "dev-master" 添加到您的 composer.json 中,然后调用 composer update progrupa/sms-bundle

然后在您的 AppKernel.php 中启用此套餐

    new Progrupa\SmsBundle\ProgrupaSmsBundle()

基本配置

# config.yml
progrupa_sms:
    transport: 'smsapi.pl'

使用方法

    $result = $this->get('progrupa.sms')->send('48111222333', 'Text message');
    if ($result->isSuccess) {
        echo "SMS was sent";
    }

默认提供商

该套餐提供对 SmsApi.pl 消息服务的支持。要使用它,您需要提供活跃账户的凭证。这可以通过套餐配置完成

progrupa_sms:
    smsapi_pl:
        username: YourUsername
        password: YourPassword
        options: 
            from: Awesome Co
            encoding: utf-8

options 部分允许您指定希望与发送操作一起传递的任何选项。完整文档可在提供商的网站上找到 网站

自定义传输

为了支持您自己的短信提供商,您需要创建一个 TransportInterface 类,将其声明为服务并标记为 progrupa.sms.transport。然后配置 Progrupa Sms Bundle 以使用您的传输而不是默认传输。

示例传输

use Progrupa\SmsBundle\Model\Result;
use Progrupa\SmsBundle\Model\Sms;
use Progrupa\SmsBundle\Transport\TransportInterface;

class MyAwesomeTransport implements TransportInterface
{
    /**
     * @param Sms $sms Message to be sent
     * @return Result
     */
    public function send(Sms $sms)
    {
        $result = $this->magic->sendSMS($sms->recipient, $sms->message);
        return $result;
    }
}

示例服务配置

    <service id="foo.my_awesome_transport" class="MyAwesomeTransport">
        <arguments>...</arguments>
        <tag name="progrupa.sms.transport" alias="my_awesome_transport" />
    </service>

services:
    foo.my_awesome_transport:
        class: MyAwesomeTransport
        tags:
            - {name: "progrupa.sms.transport", alias: "my_awesome_transport"}

示例配置

# config.yml
progrupa_sms:
    transport: 'my_awesome_transport'

贡献

我们欢迎提供新传输支持或新功能的 pull 请求,欢迎联系我们。