stanislav-web / phalcon-sms-factory
多网关短信发送工厂。在您的Phalcon项目中提供任何短信服务
1.2.3-stable
2015-04-15 15:16 UTC
Requires
- php: >=5.4.0
- phalcon/incubator: 1.3.4
Requires (Dev)
- phpunit/phpunit: 4.6.*
Suggests
- stanislav-web/phalcon-searcher: Phalcon Database Searcher. This is the search service is designed to search multiple SQL tables. Convenient to use autocomplete, search documents, search the whole site.
- stanislav-web/phalcon-translate: Phalcon Translate Service. Simple way to translate your costom part of templates :-)
- stanislav-web/phalcon-ulogin: Phalcon ULogin. The authorization form uLogin through social networks
- stanislav-web/phalcon-uploader: Phalcon files uploader. Handling and downloading files for Phalcon projects. Allowed multiple files download, filters etc...
This package is not auto-updated.
Last update: 2024-09-14 16:36:39 UTC
README
描述
该服务通过多种提供商发送短信。您可以使用接口设计轻松实现自己的提供商。目前,提供发送和检查余额的接口。
- 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 (开发规则接口)。
您可以按照接口添加新的提供商
您可以添加自己的或选择现有的请求客户端。也可用
##问题