Laravel Sms
还记得几个月前本站上的文章Laravel-sms for L5 灵活靠谱的短信发送包吧,现在laravel-sms v2来啦,快来围观围观哈,喜欢就收藏 star ,有问题请多多提 issue 或 pr!...
1. 关于 v2
laravel-sms v2 是基于phpsms针对 laravel 框架二次封装的短信发送库。
相较于 v1 版本, v2 是使用新思路全新重构的版本,并且升级备用代理器机制为代理器均衡调度机制。
phpsms 为 laravel-sms 提供了全套的短信发送机制,而且 phpsms 也有自己的 service provider ,也就是说你完全可以在 laravel 框架下无障碍的独立使用 phpsms 。
这也是为什么使用 laravel-sms 会在项目中生成两个配置文件(phpsms.php 和 laravel-sms.php)的根本原因。
config/phpsms.php 负责配置代理器参数以及规划如何最优调度代理器(由 phpsms 提供)。
config/laravel-sms.php 则全职负责验证码发送 /验证模块的配置(由 laravel-sms 提供)。
2. why me
那么既然有了 phpsms ,为什么还需要 laravel-sms 呢?
为了更进一步提高开发效率, laravel-sms 在 phpsms 的基础上针对 laravel 框架定制好了如下功能:
- 队列工作方式
- 数据库记录日志
- 验证码发送 /验证模块
特点
- 数据库记录 /管理短信数据及其发送情况[可选]。
- 支持模板短信和内容短信(由 phpsms 提供)。
- 短信队列(由 phpsms 提供)。
- 支持语音验证码(由 phpsms 提供)。
- 代理器均衡调度机制(由 phpsms 提供)。
- 集成验证码短信发送 /校验模块,从此告别重复写验证码短信发送与校验的历史。
- 验证码发送 /验证模块的 json API 无 session 支持。
- 集成如下第三方短信服务商,你也可自定义代理器(由 phpsms 提供)。
代理器均衡调度机制
请在 config/phpsms.php 中设置代理器的均衡调度方案。
```php
'enable' => [
//被使用概率为 2/3
'Luosimao' => '20',
//被使用概率为 1/3 ,且为备用代理器
'YunPian' => '10 backup',
//仅为备用代理器
'YunTongXun' => '0 backup',
];
```
调度方案解析:
如果按照以上配置,那么系统首次会尝试使用Luosimao或YunPian发送短信,且它们被使用的概率分别为2/3和1/3。
如果使用其中一个代理器发送失败,那么会启用备用代理器,按照配置可知备用代理器有YunPian和YunTongXun,那么会依次调用直到发送成功或无备用代理器可用。
值得注意的是,如果首次尝试的是YunPian,那么备用代理器将会只会使用YunTongXun,也就是会排除使用过的代理器。