stanislav-web/phalcon-sms-factory

多网关短信发送工厂。在您的Phalcon项目中提供任何短信服务

1.2.3-stable 2015-04-15 15:16 UTC

README

Scrutinizer Code Quality Code Coverage Build Status Total Downloads Latest Stable Version Phalconist License

描述

该服务通过多种提供商发送短信。您可以使用接口设计轻松实现自己的提供商。目前,提供发送和检查余额的接口。

- BulkSMS
- Clickatell
- MessageBird
- Nexmo
- SmsAero
- SMSC
- SmsUkraine
- SMS.ru

变更日志

未来计划

- Support SMS mass mailing

[v 1.2.3-stable] 2015-04-15

- Add single error handler
- Add SMS.ru provider
- Send SMS Unit Tests

[v 1.2.2-beta] 2015-02-08

- Add view balance
- Add development info (API) / UML
- Reformat to PSR-1/PSR-2

[v 1.1-beta] 2015-02-07

- Add response debugger (Show server response headers)

[v 1.0-beta] 2015-02-06

- Sending SMS use multiple providers

兼容性

  • PSR-0, PSR-1, PSR-2, PSR-4 标准

系统要求

  • PHP 5.4 >
  • Phalcon 扩展 1.3.x
  • PHP libcurl 或 Stream Socket 客户端

安装

首先通过 composer 更新依赖项。在您的 composer.json 中添加以下内容

"require": {
    "stanislav-web/phalcon-sms-factory": "1.2.*@stable",
}

然后运行以下命令以更新依赖项和自动加载器

php composer.phar update
php composer.phar install

或直接

php composer.phar require stanislav-web/phalcon-sms-factory 1.2.*@stable

(不要忘记包含 composer 自动加载器)

您可以创建一个可注入的服务

    $di->set('SMS', function () use ($di) {

        return new SMSFactory\Sender($di);
    });

用法

配置提供商

短信服务有多种设置,包括必填和可选。您可以在项目的全局配置文件中选中它们。我故意没有在每个提供商中设置设置,因为这个服务将得到维护,没有时间更改。因此,通过 composer 更新时,如果您的设置更改到全局应用程序配置,则设置不会覆盖。请参见示例

<?php
    // add to your app config and write down your settings .The key 'sms' is required
    'sms'   =>  [
    
                'Nexmo'         =>  [
                    'from'      => '',
                    'api_key'   => '',
                    'api_secret'=> '',
                    'type'      => '',
                    'request_method' => ''
                ],
                'BulkSMS'   =>  [
                    'username'  => '',
                    'password'  => '',
                ],
                'SmsAero' => [
                    'from'          => '',
                    'user'          => '',
                    'password'      => '',
                ],
                
                'SmsUkraine'       =>  [
                    'from'          => '',
                    'login'         => '',
                    'password'      => '',
                    'version'       => '',
                ],
                
                'SMSC'       =>  [
                    'login'     => '',
                    'psw'       => '',
                    'charset'   => '',
                    'sender'    => '',
                ],
        
                'SMSRu' => [
                    'api_id'    => ''
                ],
                
                'Clickatell'    => [
                    'api_id'    => '',
                    'user'      => '',
                    'password'  => '',
                    'from'      => '',
                    'request_method' => ''
                ],
                'MessageBird'   => [
                    'originator'   => '',
                    'access_key'   => '',
                    'request_method' => ''
                ]           
    ];

发送短信并查看余额

现在您可以调用您创建的发送短信的服务。

<?php

    // get sms service
    $sms = $this->di->get('SMS');

    // send message via SmsAero (available 7 providers)
    $response = $sms->call('SmsAero')->setRecipient('NUMBER')->send('MESSAGE'));

    // get balance of SmsAero account
    $response = $sms->call('SmsAero')->balance();

    // use debug to show headers
    $response = $sms->call('SmsProvider')->debug(true)->setRecipient('NUMBER')->send('MESSAGE'));
    $response = $sms->call('SmsProvider')->debug(true)->balance();

单元测试

也适用于 /phpunit 目录。运行以下命令以启动

phpunit --configuration phpunit.xml.dist --coverage-text

##变更日志

贡献和开发

我已经包含了 API 指令和相关的类 图表

我接受 GitHub 上的错误报告、新功能请求和 pull 请求。.

如果您有关于如何使用此服务的问题,请参阅此 README

如果您有更改或新功能的概念,请再次参阅此 README 并遵循 DRI (开发规则接口)。

您可以按照接口添加新的提供商

您可以添加自己的或选择现有的请求客户端。也可用

##问题