avtonom/sms-devinotelecom-bundle

为PHP的Symfony2 bundle提供Devino Telecom服务商发送短信通知

v1.2.1 2018-12-03 13:21 UTC

This package is not auto-updated.

Last update: 2024-09-16 19:23:48 UTC


README

通过Devino Telecom (devinotele.com)为PHP的Symfony2 bundle提供发送短信通知的服务器提供商。使用KPhoenSmsSenderBundle为Symfony和Carpe-Hora/SmsSender。

包页面: https://github.com/Avtonom/sms-devinotelecom-bundle

特性

  • 获取会话ID(接收令牌、授权)
  • 发送单个短信消息(不考虑接收者的时区)
  • 获取用户余额
  • 通过标准功能表单验证输入数据。

可能在未来

  • 过度频繁消息的安全(阻止)

HttpAdapters

HttpAdapters负责从远程API获取数据。

目前,有以下适配器

  • CurlHttpAdapter用于cURL;(推荐)
  • BuzzHttpAdapter用于Buzz,一个用于发送HTTP请求的轻量级PHP 5.3库;(需要额外安装此依赖)

安装

在项目根目录下运行以下命令,假设您已经为项目设置了composer

composer.phar require avtonom/sms-devinotelecom-bundle ~1.1

切换~1.1为最新标签。

将包添加到app/AppKernel.php

$bundles(
    ...
       new KPhoen\SmsSenderBundle\KPhoenSmsSenderBundle(),
       new Avtonom\Sms\DevinoTelecomBundle\AvtonomSmsDevinoTelecomBundle(),
    ...
);

配置选项(config.yaml)

k_phoen_sms_sender:
    pool:         ~   # right now, only "memory" is supported
    providers:    [devinotelecom]
    factories:    [ "%kernel.root_dir%/../vendor/avtonom/sms-devinotelecom-bundle/Avtonom/Sms/DevinoTelecomBundle/Resources/config/provider_factories.xml" ]

    devinotelecom:
        login:     %sms.provider.devinotelecom.login%
        password:  %sms.provider.devinotelecom.password%
        originators:  %sms.provider.devinotelecom.originators%

配置选项(parameters.yaml)

parameters:
    sms.provider.devinotelecom.login: ~
    sms.provider.devinotelecom.password: ~
    sms.provider.devinotelecom.originators: [] # Leave an empty array if there is no strict checking the sender's name
    

创建一个名为"avtonom_sms.logger"的记录器。示例代码(services.yml)

services:
    avtonom_sms.logger:
        public: true
        class: Symfony\Bridge\Monolog\Logger
        arguments: [sms]
    

使用

try {
    $sendResult = $this->get('sms.sender')->send('0642424242', 'It\'s the answer.', 'Kévin');
} catch(\SmsSender\Exception\WrappedException $e){
    if($e->getWrappedException() && $e->getWrappedException() instanceof \SmsSender\Exception\AdapterException){
        $smsException = new \Exception($e->getWrappedException()->getMessage(), $e->getWrappedException()->getCode(), $e);
        if($e->getWrappedException()->getData()){
            var_dump($e->getWrappedException()->getData()); // request data
        }

    }
    throw $smsException;
}

推荐

建议与https://packagist.org.cn/packages/avtonom/limit-number-calls-bundle一起使用此bundle,Defender为Symfony 2,大量请求的防御者。它旨在保护多个处理一个值。Guard旨在防止暴力破解和字典攻击。

需要帮助?

  1. 如果您发现了一个bug,请创建一个问题。